<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>ospipsv: OSPIPSV APIs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">ospipsv
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="pages.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__ospipsv__api.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">OSPIPSV APIs</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for a flash message.  <a href="struct_x_ospi_psv___msg.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for the device.  <a href="struct_x_ospi_psv___config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> driver instance data.  <a href="struct_x_ospi_psv.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gae47ce4e107756cbd213bf34e51f8ce21"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gae47ce4e107756cbd213bf34e51f8ce21">SILICON_VERSION_1</a>&#160;&#160;&#160;0x10U</td></tr>
<tr class="memdesc:gae47ce4e107756cbd213bf34e51f8ce21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Silicon version.  <a href="#gae47ce4e107756cbd213bf34e51f8ce21">More...</a><br/></td></tr>
<tr class="separator:gae47ce4e107756cbd213bf34e51f8ce21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae90b7e8c7fe9d94c5c156a07e57fc27c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gae90b7e8c7fe9d94c5c156a07e57fc27c">READ_ID</a>&#160;&#160;&#160;0x9FU</td></tr>
<tr class="memdesc:gae90b7e8c7fe9d94c5c156a07e57fc27c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read Id opcode.  <a href="#gae90b7e8c7fe9d94c5c156a07e57fc27c">More...</a><br/></td></tr>
<tr class="separator:gae90b7e8c7fe9d94c5c156a07e57fc27c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga376253ea2aaf4288368162dd58da2379"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga376253ea2aaf4288368162dd58da2379">XOSPIPSV_H_</a></td></tr>
<tr class="memdesc:ga376253ea2aaf4288368162dd58da2379"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; prevent circular inclusions  <a href="#ga376253ea2aaf4288368162dd58da2379">More...</a><br/></td></tr>
<tr class="separator:ga376253ea2aaf4288368162dd58da2379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5cc34e95babfb307ef694eec5cae4067"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga5cc34e95babfb307ef694eec5cae4067">XOSPIPSV_RXADDR_OVER_32BIT</a>&#160;&#160;&#160;0x100000000U</td></tr>
<tr class="memdesc:ga5cc34e95babfb307ef694eec5cae4067"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Macro used for more than 32-bit address  <a href="#ga5cc34e95babfb307ef694eec5cae4067">More...</a><br/></td></tr>
<tr class="separator:ga5cc34e95babfb307ef694eec5cae4067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga231f60eeceeca0fd2afab316c2f30424"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga231f60eeceeca0fd2afab316c2f30424">XOSPIPSV_TAP_GRAN_SEL_MIN_FREQ</a>&#160;&#160;&#160;120000000U</td></tr>
<tr class="memdesc:ga231f60eeceeca0fd2afab316c2f30424"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum frequency for Tap grain selection.  <a href="#ga231f60eeceeca0fd2afab316c2f30424">More...</a><br/></td></tr>
<tr class="separator:ga231f60eeceeca0fd2afab316c2f30424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02055aef4b0f9a801005ebdc7b556157"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga02055aef4b0f9a801005ebdc7b556157">MAX_DELAY_CNT</a>&#160;&#160;&#160;10000U</td></tr>
<tr class="memdesc:ga02055aef4b0f9a801005ebdc7b556157"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Maximum delay count  <a href="#ga02055aef4b0f9a801005ebdc7b556157">More...</a><br/></td></tr>
<tr class="separator:ga02055aef4b0f9a801005ebdc7b556157"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2837097f3f203eeff26f5cfc61947bcf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga2837097f3f203eeff26f5cfc61947bcf">MAX_IDAC_DELAY_CNT</a>&#160;&#160;&#160;10000000U</td></tr>
<tr class="memdesc:ga2837097f3f203eeff26f5cfc61947bcf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max INDAC delay count.  <a href="#ga2837097f3f203eeff26f5cfc61947bcf">More...</a><br/></td></tr>
<tr class="separator:ga2837097f3f203eeff26f5cfc61947bcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5d4884f3757c314991e0d72bf344c59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gad5d4884f3757c314991e0d72bf344c59">XOSPIPSV_LOWLEVEL_H_</a></td></tr>
<tr class="memdesc:gad5d4884f3757c314991e0d72bf344c59"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; prevent circular inclusions  <a href="#gad5d4884f3757c314991e0d72bf344c59">More...</a><br/></td></tr>
<tr class="separator:gad5d4884f3757c314991e0d72bf344c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0107e147ea67ea49c4a858a8df7812e5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga0107e147ea67ea49c4a858a8df7812e5">MAX_STIG_DELAY_CNT</a>&#160;&#160;&#160;50000U</td></tr>
<tr class="memdesc:ga0107e147ea67ea49c4a858a8df7812e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max STIG delay count.  <a href="#ga0107e147ea67ea49c4a858a8df7812e5">More...</a><br/></td></tr>
<tr class="separator:ga0107e147ea67ea49c4a858a8df7812e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8cfa7018351ffa45663961a534fe50b4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga8cfa7018351ffa45663961a534fe50b4">MAX_DMA_DELAY_CNT</a>&#160;&#160;&#160;10000000U</td></tr>
<tr class="memdesc:ga8cfa7018351ffa45663961a534fe50b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max DMA delay count.  <a href="#ga8cfa7018351ffa45663961a534fe50b4">More...</a><br/></td></tr>
<tr class="separator:ga8cfa7018351ffa45663961a534fe50b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc22319a6b88d36c8eb490a567b618cb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gacc22319a6b88d36c8eb490a567b618cb">LOCK_MAX_DELAY_CNT</a>&#160;&#160;&#160;10000000U</td></tr>
<tr class="memdesc:gacc22319a6b88d36c8eb490a567b618cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max LOCK delay count.  <a href="#gacc22319a6b88d36c8eb490a567b618cb">More...</a><br/></td></tr>
<tr class="separator:gacc22319a6b88d36c8eb490a567b618cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7c34af4c3051ee8eb5a3e8dfce2a8b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gad7c34af4c3051ee8eb5a3e8dfce2a8b5">TERA_MACRO</a>&#160;&#160;&#160;1000000000000U</td></tr>
<tr class="memdesc:gad7c34af4c3051ee8eb5a3e8dfce2a8b5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macro for 10^12.  <a href="#gad7c34af4c3051ee8eb5a3e8dfce2a8b5">More...</a><br/></td></tr>
<tr class="separator:gad7c34af4c3051ee8eb5a3e8dfce2a8b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2de4ead260c6796c2ba21dd9c936f55b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga2de4ead260c6796c2ba21dd9c936f55b">XOSPIPSV_NUM_OPTIONS</a>&#160;&#160;&#160;(sizeof(OptionsTable) / sizeof(OptionsMap))</td></tr>
<tr class="memdesc:ga2de4ead260c6796c2ba21dd9c936f55b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total number of configuration options.  <a href="#ga2de4ead260c6796c2ba21dd9c936f55b">More...</a><br/></td></tr>
<tr class="separator:ga2de4ead260c6796c2ba21dd9c936f55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga2fded7b6bdbc994e9358fed0cda3a103"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga2fded7b6bdbc994e9358fed0cda3a103">XOspiPsv_StatusHandler</a> )(void *CallBackRef, u32 StatusEvent)</td></tr>
<tr class="memdesc:ga2fded7b6bdbc994e9358fed0cda3a103"><td class="mdescLeft">&#160;</td><td class="mdescRight">The handler data type allows the user to define a callback function to handle the asynchronous processing for the OSPIPSV device.  <a href="#ga2fded7b6bdbc994e9358fed0cda3a103">More...</a><br/></td></tr>
<tr class="separator:ga2fded7b6bdbc994e9358fed0cda3a103"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gae5a31f79cc2df46027e4b9f26cad97ad"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gae5a31f79cc2df46027e4b9f26cad97ad">XOspiPsv_CfgInitialize</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, const <a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a> *ConfigPtr)</td></tr>
<tr class="memdesc:gae5a31f79cc2df46027e4b9f26cad97ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a specific <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance so that the driver is ready to use.  <a href="#gae5a31f79cc2df46027e4b9f26cad97ad">More...</a><br/></td></tr>
<tr class="separator:gae5a31f79cc2df46027e4b9f26cad97ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab43ba912b750cce29cef9d5d652e11af"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gab43ba912b750cce29cef9d5d652e11af">XOspiPsv_Reset</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:gab43ba912b750cce29cef9d5d652e11af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the configuration register.  <a href="#gab43ba912b750cce29cef9d5d652e11af">More...</a><br/></td></tr>
<tr class="separator:gab43ba912b750cce29cef9d5d652e11af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga16fcc38cab80027ea601c99569517067"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga16fcc38cab80027ea601c99569517067">XOspiPsv_DeviceReset</a> (u8 Type)</td></tr>
<tr class="memdesc:ga16fcc38cab80027ea601c99569517067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the OSPI flash device.  <a href="#ga16fcc38cab80027ea601c99569517067">More...</a><br/></td></tr>
<tr class="separator:ga16fcc38cab80027ea601c99569517067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26ffa91c5d5d79028535a2e3381174e6"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga26ffa91c5d5d79028535a2e3381174e6">XOspiPsv_DeviceResetViaOspi</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u8 Type)</td></tr>
<tr class="memdesc:ga26ffa91c5d5d79028535a2e3381174e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the OSPI flash device via OSPI controller.  <a href="#ga26ffa91c5d5d79028535a2e3381174e6">More...</a><br/></td></tr>
<tr class="separator:ga26ffa91c5d5d79028535a2e3381174e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga808cc2759798221d0d4f44eef27c0629"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga808cc2759798221d0d4f44eef27c0629"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a transfer on the bus in polled mode.  <a href="#ga808cc2759798221d0d4f44eef27c0629">More...</a><br/></td></tr>
<tr class="separator:ga808cc2759798221d0d4f44eef27c0629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fe1250ba300d83c1acb4291301429f9"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga4fe1250ba300d83c1acb4291301429f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts a DMA transfer.  <a href="#ga4fe1250ba300d83c1acb4291301429f9">More...</a><br/></td></tr>
<tr class="separator:ga4fe1250ba300d83c1acb4291301429f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga816c6bf2a419d38bd2e4d51a266a6d3b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga816c6bf2a419d38bd2e4d51a266a6d3b">XOspiPsv_CheckDmaDone</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga816c6bf2a419d38bd2e4d51a266a6d3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks for DMA transfer complete.  <a href="#ga816c6bf2a419d38bd2e4d51a266a6d3b">More...</a><br/></td></tr>
<tr class="separator:ga816c6bf2a419d38bd2e4d51a266a6d3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf23d7567b974cfac69ecadd2919999d"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:gaaf23d7567b974cfac69ecadd2919999d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a transfer on the bus in interrupt mode.  <a href="#gaaf23d7567b974cfac69ecadd2919999d">More...</a><br/></td></tr>
<tr class="separator:gaaf23d7567b974cfac69ecadd2919999d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa415227de8c6663e478041a82887dd5b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaa415227de8c6663e478041a82887dd5b">XOspiPsv_IntrHandler</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaa415227de8c6663e478041a82887dd5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles interrupt based transfers.  <a href="#gaa415227de8c6663e478041a82887dd5b">More...</a><br/></td></tr>
<tr class="separator:gaa415227de8c6663e478041a82887dd5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga70d2c317de32d39ddab3b585c9da5d69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga70d2c317de32d39ddab3b585c9da5d69">XOspiPsv_Idle</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga70d2c317de32d39ddab3b585c9da5d69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stops the transfer of data to internal DST FIFO from stream interface and also stops the issuing of new write commands to memory.  <a href="#ga70d2c317de32d39ddab3b585c9da5d69">More...</a><br/></td></tr>
<tr class="separator:ga70d2c317de32d39ddab3b585c9da5d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3946ea37da6d9ce478f29eca239b597b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga3946ea37da6d9ce478f29eca239b597b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures TX and RX DLL Delay.  <a href="#ga3946ea37da6d9ce478f29eca239b597b">More...</a><br/></td></tr>
<tr class="separator:ga3946ea37da6d9ce478f29eca239b597b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabba4009ea62fb0b8c856a8582ed9f77b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gabba4009ea62fb0b8c856a8582ed9f77b">XOspiPsv_ConfigDualByteOpcode</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u8 Enable)</td></tr>
<tr class="memdesc:gabba4009ea62fb0b8c856a8582ed9f77b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the dual-byte opcode mode.  <a href="#gabba4009ea62fb0b8c856a8582ed9f77b">More...</a><br/></td></tr>
<tr class="separator:gabba4009ea62fb0b8c856a8582ed9f77b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96e167a2c7e8917efaf4bcab5c3d561b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga96e167a2c7e8917efaf4bcab5c3d561b">XOspiPsv_SetStatusHandler</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, void *CallBackRef, <a class="el" href="group__ospipsv__api.html#ga2fded7b6bdbc994e9358fed0cda3a103">XOspiPsv_StatusHandler</a> FuncPointer)</td></tr>
<tr class="memdesc:ga96e167a2c7e8917efaf4bcab5c3d561b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the status callback function, the status handler, which the driver calls when it encounters conditions that should be reported to upper layer software.  <a href="#ga96e167a2c7e8917efaf4bcab5c3d561b">More...</a><br/></td></tr>
<tr class="separator:ga96e167a2c7e8917efaf4bcab5c3d561b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf44a1c9ce528880318fbfd61c256b0d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaf44a1c9ce528880318fbfd61c256b0d3">XOspiPsv_LookupConfig</a> (u16 DeviceId)</td></tr>
<tr class="memdesc:gaf44a1c9ce528880318fbfd61c256b0d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Looks up the device configuration based on the unique device ID.  <a href="#gaf44a1c9ce528880318fbfd61c256b0d3">More...</a><br/></td></tr>
<tr class="separator:gaf44a1c9ce528880318fbfd61c256b0d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45c51bcfa1e2d996298847c2b7910ba6"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga45c51bcfa1e2d996298847c2b7910ba6">XOspiPsv_SetClkPrescaler</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u8 Prescaler)</td></tr>
<tr class="memdesc:ga45c51bcfa1e2d996298847c2b7910ba6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the clock according to the prescaler passed.  <a href="#ga45c51bcfa1e2d996298847c2b7910ba6">More...</a><br/></td></tr>
<tr class="separator:ga45c51bcfa1e2d996298847c2b7910ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d17525a71d9df7268fcc4269f19270c"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga2d17525a71d9df7268fcc4269f19270c">XOspiPsv_SelectFlash</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u8 chip_select)</td></tr>
<tr class="memdesc:ga2d17525a71d9df7268fcc4269f19270c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to signify the OSPIPSV driver that the Hardware flash configuration being used.  <a href="#ga2d17525a71d9df7268fcc4269f19270c">More...</a><br/></td></tr>
<tr class="separator:ga2d17525a71d9df7268fcc4269f19270c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab47df170b16816d4cc11dee6c3008e3c"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gab47df170b16816d4cc11dee6c3008e3c">XOspiPsv_SetOptions</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u32 Options)</td></tr>
<tr class="memdesc:gab47df170b16816d4cc11dee6c3008e3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the options for the OSPIPSV device driver.The options control how the device behaves relative to the OSPIPSV bus.  <a href="#gab47df170b16816d4cc11dee6c3008e3c">More...</a><br/></td></tr>
<tr class="separator:gab47df170b16816d4cc11dee6c3008e3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19324f8c6c1156b26c84cc9d413a4801"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga19324f8c6c1156b26c84cc9d413a4801">XOspiPsv_GetOptions</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga19324f8c6c1156b26c84cc9d413a4801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the options for the OSPIPSV device.  <a href="#ga19324f8c6c1156b26c84cc9d413a4801">More...</a><br/></td></tr>
<tr class="separator:ga19324f8c6c1156b26c84cc9d413a4801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74efb98d92b16935c3ea41e4f77cecea"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga74efb98d92b16935c3ea41e4f77cecea">XOspiPsv_SetSdrDdrMode</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u32 Mode)</td></tr>
<tr class="memdesc:ga74efb98d92b16935c3ea41e4f77cecea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the edge mode (SDR or DDR).  <a href="#ga74efb98d92b16935c3ea41e4f77cecea">More...</a><br/></td></tr>
<tr class="separator:ga74efb98d92b16935c3ea41e4f77cecea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec5aab7a4cee335804494e31429b53ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaec5aab7a4cee335804494e31429b53ec">XOspiPsv_ConfigureAutoPolling</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u32 FlashMode)</td></tr>
<tr class="memdesc:gaec5aab7a4cee335804494e31429b53ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures how the controller will poll the device following a write transfer in DAC mode.  <a href="#gaec5aab7a4cee335804494e31429b53ec">More...</a><br/></td></tr>
<tr class="separator:gaec5aab7a4cee335804494e31429b53ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6af9f098248cd39891e92d9caa1d75c8"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga6af9f098248cd39891e92d9caa1d75c8">XOspiPsv_Stig_Read</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga6af9f098248cd39891e92d9caa1d75c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash command based data reading using flash command control registers.  <a href="#ga6af9f098248cd39891e92d9caa1d75c8">More...</a><br/></td></tr>
<tr class="separator:ga6af9f098248cd39891e92d9caa1d75c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b1a6b7fd20d9183ad58f84d3303eeec"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga1b1a6b7fd20d9183ad58f84d3303eeec">XOspiPsv_Stig_Write</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga1b1a6b7fd20d9183ad58f84d3303eeec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash command based data write using flash command control registers.  <a href="#ga1b1a6b7fd20d9183ad58f84d3303eeec">More...</a><br/></td></tr>
<tr class="separator:ga1b1a6b7fd20d9183ad58f84d3303eeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab882c01ec4fd29b29a58e0a07075414d"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gab882c01ec4fd29b29a58e0a07075414d">XOspiPsv_Dma_Read</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:gab882c01ec4fd29b29a58e0a07075414d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the data using DMA.  <a href="#gab882c01ec4fd29b29a58e0a07075414d">More...</a><br/></td></tr>
<tr class="separator:gab882c01ec4fd29b29a58e0a07075414d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f70d70b4dcd8a325a7dacc3aa31a5ef"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga9f70d70b4dcd8a325a7dacc3aa31a5ef">XOspiPsv_Dac_Read</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga9f70d70b4dcd8a325a7dacc3aa31a5ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the data using Linear controller.  <a href="#ga9f70d70b4dcd8a325a7dacc3aa31a5ef">More...</a><br/></td></tr>
<tr class="separator:ga9f70d70b4dcd8a325a7dacc3aa31a5ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb1ae4f737c07e890039cdaf3a006b26"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gadb1ae4f737c07e890039cdaf3a006b26">XOspiPsv_Dac_Write</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:gadb1ae4f737c07e890039cdaf3a006b26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the data Using Linear controller.  <a href="#gadb1ae4f737c07e890039cdaf3a006b26">More...</a><br/></td></tr>
<tr class="separator:gadb1ae4f737c07e890039cdaf3a006b26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ac73304cb055f7184181eb4b176637e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga3ac73304cb055f7184181eb4b176637e">XOspiPsv_ExecuteRxTuning</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *FlashMsg, u32 TXTap)</td></tr>
<tr class="memdesc:ga3ac73304cb055f7184181eb4b176637e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs RX Tuning for SDR/DDR mode to calculate RX DLL Delay.  <a href="#ga3ac73304cb055f7184181eb4b176637e">More...</a><br/></td></tr>
<tr class="separator:ga3ac73304cb055f7184181eb4b176637e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacb2c9597040e54b985ddf380365af639"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gacb2c9597040e54b985ddf380365af639">XOspiPsv_ConfigureTaps</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u32 RxTap, u32 TxTap)</td></tr>
<tr class="memdesc:gacb2c9597040e54b985ddf380365af639"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the Rx and Tx taps in Phy Configuration register.  <a href="#gacb2c9597040e54b985ddf380365af639">More...</a><br/></td></tr>
<tr class="separator:gacb2c9597040e54b985ddf380365af639"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga289baf1466add8dfa4a70a3952354cd7"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga289baf1466add8dfa4a70a3952354cd7">XOspiPsv_CheckOspiIdle</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga289baf1466add8dfa4a70a3952354cd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks for OSPI idle which means Serial interface and low level SPI pipeline is IDLE.  <a href="#ga289baf1466add8dfa4a70a3952354cd7">More...</a><br/></td></tr>
<tr class="separator:ga289baf1466add8dfa4a70a3952354cd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8400388c80d471a4535fa7357104f07b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga8400388c80d471a4535fa7357104f07b">XOspiPsv_IDac_Write</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga8400388c80d471a4535fa7357104f07b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data in Non-DMA Indirect mode.  <a href="#ga8400388c80d471a4535fa7357104f07b">More...</a><br/></td></tr>
<tr class="separator:ga8400388c80d471a4535fa7357104f07b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga621f2c47a2e8fdf59de28b2333d6da6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga621f2c47a2e8fdf59de28b2333d6da6f">XOspiPsv_FifoRead</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga621f2c47a2e8fdf59de28b2333d6da6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads data from RX FIFO.  <a href="#ga621f2c47a2e8fdf59de28b2333d6da6f">More...</a><br/></td></tr>
<tr class="separator:ga621f2c47a2e8fdf59de28b2333d6da6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54d82d31820cd30d9c32055380e0ab04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga54d82d31820cd30d9c32055380e0ab04">XOspiPsv_FifoWrite</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga54d82d31820cd30d9c32055380e0ab04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes data to TX FIFO.  <a href="#ga54d82d31820cd30d9c32055380e0ab04">More...</a><br/></td></tr>
<tr class="separator:ga54d82d31820cd30d9c32055380e0ab04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb4ad780fc9faa2f91aa7208ceb91583"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gafb4ad780fc9faa2f91aa7208ceb91583">XOspiPsv_Setup_Stig_Ctrl</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u32 Cmd_op, u32 Rd_data_en, u32 Num_rd_data_bytes, u32 Cmd_addr_en, u32 Mode_bit_en, u32 Num_addr_bytes, u32 Wr_data_en, u32 Num_wr_data_bytes, u32 Dummy, u32 Membank_en)</td></tr>
<tr class="memdesc:gafb4ad780fc9faa2f91aa7208ceb91583"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the STIG control register (Flash cmd register).  <a href="#gafb4ad780fc9faa2f91aa7208ceb91583">More...</a><br/></td></tr>
<tr class="separator:gafb4ad780fc9faa2f91aa7208ceb91583"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa347217a72ad5240a86eb29dacec9270"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaa347217a72ad5240a86eb29dacec9270">XOspiPsv_Setup_Dev_Write_Instr_Reg</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:gaa347217a72ad5240a86eb29dacec9270"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the below info to write instruction register DataXfertype - SPI/Dual/Quad/Octal AddrXfertype - 3 or 4B.  <a href="#gaa347217a72ad5240a86eb29dacec9270">More...</a><br/></td></tr>
<tr class="separator:gaa347217a72ad5240a86eb29dacec9270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf618dd1d9a3b5fe6a60feedd9cfca12b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaf618dd1d9a3b5fe6a60feedd9cfca12b">XOspiPsv_Setup_Dev_Read_Instr_Reg</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:gaf618dd1d9a3b5fe6a60feedd9cfca12b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the below info to read instruction register DataXfertype - SPI/Dual/Quad/Octal AddrXfertype - 3 or 4B.  <a href="#gaf618dd1d9a3b5fe6a60feedd9cfca12b">More...</a><br/></td></tr>
<tr class="separator:gaf618dd1d9a3b5fe6a60feedd9cfca12b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0a1fd4b1edb33eeb7f14588f09a8355"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gab0a1fd4b1edb33eeb7f14588f09a8355">XOspiPsv_Setup_Devsize</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:gab0a1fd4b1edb33eeb7f14588f09a8355"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the device size config register.  <a href="#gab0a1fd4b1edb33eeb7f14588f09a8355">More...</a><br/></td></tr>
<tr class="separator:gab0a1fd4b1edb33eeb7f14588f09a8355"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4eb9614740f6df4c7a372d9125d5b5e1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga4eb9614740f6df4c7a372d9125d5b5e1">XOspiPsv_Start_Indr_RdTransfer</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga4eb9614740f6df4c7a372d9125d5b5e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates the indirect read transfer.  <a href="#ga4eb9614740f6df4c7a372d9125d5b5e1">More...</a><br/></td></tr>
<tr class="separator:ga4eb9614740f6df4c7a372d9125d5b5e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae199f0006d6d3282aad2a18c4e87d479"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gae199f0006d6d3282aad2a18c4e87d479">XOspiPsv_Config_IndirectAhb</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:gae199f0006d6d3282aad2a18c4e87d479"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the Indirect controller.  <a href="#gae199f0006d6d3282aad2a18c4e87d479">More...</a><br/></td></tr>
<tr class="separator:gae199f0006d6d3282aad2a18c4e87d479"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dd7305678eaea4774657b38046cc5e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga7dd7305678eaea4774657b38046cc5e4">XOspiPsv_Config_Dma</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *Msg)</td></tr>
<tr class="memdesc:ga7dd7305678eaea4774657b38046cc5e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up the Dma configuration.  <a href="#ga7dd7305678eaea4774657b38046cc5e4">More...</a><br/></td></tr>
<tr class="separator:ga7dd7305678eaea4774657b38046cc5e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2f584dfcca76360b59188e58c60b770"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaa2f584dfcca76360b59188e58c60b770">XOspiPsv_Exec_Dma</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:gaa2f584dfcca76360b59188e58c60b770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates the DMA transfer.  <a href="#gaa2f584dfcca76360b59188e58c60b770">More...</a><br/></td></tr>
<tr class="separator:gaa2f584dfcca76360b59188e58c60b770"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8bb2848b91c02f54adca66fae6820e7e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga8bb2848b91c02f54adca66fae6820e7e">XOspiPsv_Exec_Flash_Cmd</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr)</td></tr>
<tr class="memdesc:ga8bb2848b91c02f54adca66fae6820e7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes the Flash command configured using Flash Command control register.  <a href="#ga8bb2848b91c02f54adca66fae6820e7e">More...</a><br/></td></tr>
<tr class="separator:ga8bb2848b91c02f54adca66fae6820e7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga943852604b61a80a53f42a143bf87241"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga943852604b61a80a53f42a143bf87241">XOspiPsv_WaitForLock</a> (const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, u32 Mask)</td></tr>
<tr class="memdesc:ga943852604b61a80a53f42a143bf87241"><td class="mdescLeft">&#160;</td><td class="mdescRight">Waits for bit to be set.  <a href="#ga943852604b61a80a53f42a143bf87241">More...</a><br/></td></tr>
<tr class="separator:ga943852604b61a80a53f42a143bf87241"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabef79236b8c8e5ada4f6ddb58132e35c"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gabef79236b8c8e5ada4f6ddb58132e35c">XOspiPsv_CalculateRxTap</a> (<a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *InstancePtr, <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *FlashMsg, u8 *AvgRXTap, u8 *MaxWindowSize, u8 DummyIncr, u32 TXTap)</td></tr>
<tr class="memdesc:gabef79236b8c8e5ada4f6ddb58132e35c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the Max window size and the corresponding Average Rx Tap.  <a href="#gabef79236b8c8e5ada4f6ddb58132e35c">More...</a><br/></td></tr>
<tr class="separator:gabef79236b8c8e5ada4f6ddb58132e35c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga992d9fa781379e0cc76acdc13cb8b54c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga992d9fa781379e0cc76acdc13cb8b54c">XOspiPsv_ConfigTable</a> []</td></tr>
<tr class="memdesc:ga992d9fa781379e0cc76acdc13cb8b54c"><td class="mdescLeft">&#160;</td><td class="mdescRight">The configuration table for devices.  <a href="#ga992d9fa781379e0cc76acdc13cb8b54c">More...</a><br/></td></tr>
<tr class="separator:ga992d9fa781379e0cc76acdc13cb8b54c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5467f4708859cc73f82c31d627bd31b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga5467f4708859cc73f82c31d627bd31b3">XOspiPsv_ConfigTable</a> [XPAR_XOSPIPSV_NUM_INSTANCES]</td></tr>
<tr class="memdesc:ga5467f4708859cc73f82c31d627bd31b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The configuration table for devices.  <a href="#ga5467f4708859cc73f82c31d627bd31b3">More...</a><br/></td></tr>
<tr class="separator:ga5467f4708859cc73f82c31d627bd31b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Configuration options</h2></td></tr>
<tr class="memitem:ga15c0973b6b32cee5484231f4b0964024"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga15c0973b6b32cee5484231f4b0964024">XOSPIPSV_DAC_EN_OPTION</a>&#160;&#160;&#160;0x1U</td></tr>
<tr class="memdesc:ga15c0973b6b32cee5484231f4b0964024"><td class="mdescLeft">&#160;</td><td class="mdescRight">User configuration options.  <a href="#ga15c0973b6b32cee5484231f4b0964024">More...</a><br/></td></tr>
<tr class="separator:ga15c0973b6b32cee5484231f4b0964024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga023b5ab25dd6ca3373b732aad21d95da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga023b5ab25dd6ca3373b732aad21d95da"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_IDAC_EN_OPTION</b>&#160;&#160;&#160;0x2U</td></tr>
<tr class="separator:ga023b5ab25dd6ca3373b732aad21d95da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3bf46edd088d06ff124f83f99e61b22b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3bf46edd088d06ff124f83f99e61b22b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_STIG_EN_OPTION</b>&#160;&#160;&#160;0x4U</td></tr>
<tr class="separator:ga3bf46edd088d06ff124f83f99e61b22b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf98229db3be630304e7f8b0d46045e68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf98229db3be630304e7f8b0d46045e68"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_POL_OPTION</b>&#160;&#160;&#160;0x8U</td></tr>
<tr class="separator:gaf98229db3be630304e7f8b0d46045e68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab38a95b18f7d35220ca5ba248ee5950a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab38a95b18f7d35220ca5ba248ee5950a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PHASE_OPTION</b>&#160;&#160;&#160;0x10U</td></tr>
<tr class="separator:gab38a95b18f7d35220ca5ba248ee5950a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34f129a528532fe44b67aad3c65a49ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga34f129a528532fe44b67aad3c65a49ed"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_PHY_EN_OPTION</b>&#160;&#160;&#160;0x20U</td></tr>
<tr class="separator:ga34f129a528532fe44b67aad3c65a49ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ad88ca3e3f223ca80adcd7294288ac0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7ad88ca3e3f223ca80adcd7294288ac0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_LEGIP_EN_OPTION</b>&#160;&#160;&#160;0x40U</td></tr>
<tr class="separator:ga7ad88ca3e3f223ca80adcd7294288ac0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga020366cf2f76a91dab60c608f55cf6f1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga020366cf2f76a91dab60c608f55cf6f1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DTR_EN_OPTION</b>&#160;&#160;&#160;0x80U</td></tr>
<tr class="separator:ga020366cf2f76a91dab60c608f55cf6f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab88917e499c2a91d43d7e521196943d2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab88917e499c2a91d43d7e521196943d2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CRC_EN_OPTION</b>&#160;&#160;&#160;0x100U</td></tr>
<tr class="separator:gab88917e499c2a91d43d7e521196943d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga142e9a89db19668b5ca6d35cbd3f794b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga142e9a89db19668b5ca6d35cbd3f794b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DB_OP_EN_OPTION</b>&#160;&#160;&#160;0x200U</td></tr>
<tr class="separator:ga142e9a89db19668b5ca6d35cbd3f794b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Low-level memory read/write</h2></td></tr>
<tr class="memitem:ga1101ef0b6b567210a26c9b95e3ef2de5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>(BaseAddress, RegOffset)&#160;&#160;&#160;Xil_In32((BaseAddress) + (u32)(RegOffset))</td></tr>
<tr class="memdesc:ga1101ef0b6b567210a26c9b95e3ef2de5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Low level macros to read/write memory.  <a href="#ga1101ef0b6b567210a26c9b95e3ef2de5">More...</a><br/></td></tr>
<tr class="separator:ga1101ef0b6b567210a26c9b95e3ef2de5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3bf3db9e11b5e8efcd0b6fdc17118c25"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3bf3db9e11b5e8efcd0b6fdc17118c25"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOspiPsv_WriteReg</b>(BaseAddress, RegOffset, RegisterValue)&#160;&#160;&#160;Xil_Out32((BaseAddress) + (u32)(RegOffset), (u32)(RegisterValue))</td></tr>
<tr class="separator:ga3bf3db9e11b5e8efcd0b6fdc17118c25"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Modes of operation selection</h2></td></tr>
<tr class="memitem:gad90cde53aa1c59a7a9a8450c8b109782"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gad90cde53aa1c59a7a9a8450c8b109782">XOSPIPSV_IDAC_MODE</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:gad90cde53aa1c59a7a9a8450c8b109782"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select INDAC and DAC modes.  <a href="#gad90cde53aa1c59a7a9a8450c8b109782">More...</a><br/></td></tr>
<tr class="separator:gad90cde53aa1c59a7a9a8450c8b109782"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98ff778e200a5bae12a1724c642166e8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga98ff778e200a5bae12a1724c642166e8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DAC_MODE</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:ga98ff778e200a5bae12a1724c642166e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Transfer type selection</h2></td></tr>
<tr class="memitem:ga21e9a7cc8b92ff2dcc84fafa3f0c21fa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga21e9a7cc8b92ff2dcc84fafa3f0c21fa">XOSPIPSV_MSG_FLAG_RX</a>&#160;&#160;&#160;0x2U</td></tr>
<tr class="memdesc:ga21e9a7cc8b92ff2dcc84fafa3f0c21fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select RX and TX transfer flags.  <a href="#ga21e9a7cc8b92ff2dcc84fafa3f0c21fa">More...</a><br/></td></tr>
<tr class="separator:ga21e9a7cc8b92ff2dcc84fafa3f0c21fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa63401f44f82909e4e5def344f2fb777"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa63401f44f82909e4e5def344f2fb777"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_MSG_FLAG_TX</b>&#160;&#160;&#160;0x4U</td></tr>
<tr class="separator:gaa63401f44f82909e4e5def344f2fb777"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Prototype(Bus width: Cmd_Addr_Data) selection</h2></td></tr>
<tr class="memitem:ga2cadd5891ddc5aaa4344c4c5f04df53f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga2cadd5891ddc5aaa4344c4c5f04df53f">XOSPIPSV_READ_1_1_1</a>&#160;&#160;&#160;0U</td></tr>
<tr class="memdesc:ga2cadd5891ddc5aaa4344c4c5f04df53f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select Read and Write prototype.  <a href="#ga2cadd5891ddc5aaa4344c4c5f04df53f">More...</a><br/></td></tr>
<tr class="separator:ga2cadd5891ddc5aaa4344c4c5f04df53f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga744ef7968b5523d0bbfed984cd919de4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga744ef7968b5523d0bbfed984cd919de4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_1_0_1</b>&#160;&#160;&#160;1U</td></tr>
<tr class="separator:ga744ef7968b5523d0bbfed984cd919de4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga024d721e1ad03dda67019f2f133da549"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga024d721e1ad03dda67019f2f133da549"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_1_1_2</b>&#160;&#160;&#160;2U</td></tr>
<tr class="separator:ga024d721e1ad03dda67019f2f133da549"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gada02296e2fced33fd840b1155900d230"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gada02296e2fced33fd840b1155900d230"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_1_1_8</b>&#160;&#160;&#160;3U</td></tr>
<tr class="separator:gada02296e2fced33fd840b1155900d230"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36ef23ba15c0bc67f757f5c283d40a3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga36ef23ba15c0bc67f757f5c283d40a3f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_1_8_8</b>&#160;&#160;&#160;4U</td></tr>
<tr class="separator:ga36ef23ba15c0bc67f757f5c283d40a3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga709cdf45a55ca861480297b7003b4276"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga709cdf45a55ca861480297b7003b4276"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_8_8_8</b>&#160;&#160;&#160;5U</td></tr>
<tr class="separator:ga709cdf45a55ca861480297b7003b4276"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e2cbdd635977b71103eba2fd5dfe476"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4e2cbdd635977b71103eba2fd5dfe476"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_8_0_0</b>&#160;&#160;&#160;6U</td></tr>
<tr class="separator:ga4e2cbdd635977b71103eba2fd5dfe476"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9157fa7259b383771e2fb0e841c686fb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9157fa7259b383771e2fb0e841c686fb"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_8_8_0</b>&#160;&#160;&#160;7U</td></tr>
<tr class="separator:ga9157fa7259b383771e2fb0e841c686fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57a366c2ca6fdbc86d36fa6a9fb43a00"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga57a366c2ca6fdbc86d36fa6a9fb43a00"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_8_0_8</b>&#160;&#160;&#160;8U</td></tr>
<tr class="separator:ga57a366c2ca6fdbc86d36fa6a9fb43a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32262aa9148824eb4632cb1fb403b03e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga32262aa9148824eb4632cb1fb403b03e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_1_1_4</b>&#160;&#160;&#160;9U</td></tr>
<tr class="separator:ga32262aa9148824eb4632cb1fb403b03e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae77f747885a8eabf1da42c4f6eda1ec4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae77f747885a8eabf1da42c4f6eda1ec4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_READ_4_4_4</b>&#160;&#160;&#160;10U</td></tr>
<tr class="separator:gae77f747885a8eabf1da42c4f6eda1ec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7cf4370e5c08c69a0a17b61ae2154e81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7cf4370e5c08c69a0a17b61ae2154e81"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_1_1_1</b>&#160;&#160;&#160;0U</td></tr>
<tr class="separator:ga7cf4370e5c08c69a0a17b61ae2154e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29f8015257e80a1023a8aa170e983954"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga29f8015257e80a1023a8aa170e983954"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_1_0_1</b>&#160;&#160;&#160;1U</td></tr>
<tr class="separator:ga29f8015257e80a1023a8aa170e983954"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7be00d62e5dffbe8646daa61f57482d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7be00d62e5dffbe8646daa61f57482d9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_1_1_2</b>&#160;&#160;&#160;2U</td></tr>
<tr class="separator:ga7be00d62e5dffbe8646daa61f57482d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96084590cbdee490499e091766ac5303"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga96084590cbdee490499e091766ac5303"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_1_1_8</b>&#160;&#160;&#160;3U</td></tr>
<tr class="separator:ga96084590cbdee490499e091766ac5303"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1353dfaf407584d8ca44a7687056630"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad1353dfaf407584d8ca44a7687056630"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_1_8_8</b>&#160;&#160;&#160;4U</td></tr>
<tr class="separator:gad1353dfaf407584d8ca44a7687056630"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e425288167a2f7a8ed1fe2e5a11184a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0e425288167a2f7a8ed1fe2e5a11184a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_8_8_8</b>&#160;&#160;&#160;5U</td></tr>
<tr class="separator:ga0e425288167a2f7a8ed1fe2e5a11184a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga702fb393e805b9e61b3f80915ea83651"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga702fb393e805b9e61b3f80915ea83651"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_8_0_0</b>&#160;&#160;&#160;6U</td></tr>
<tr class="separator:ga702fb393e805b9e61b3f80915ea83651"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86847b801b21e04fe26610aa79905b2d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga86847b801b21e04fe26610aa79905b2d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_8_8_0</b>&#160;&#160;&#160;7U</td></tr>
<tr class="separator:ga86847b801b21e04fe26610aa79905b2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga040bc73086a36492271db44e373a33e2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga040bc73086a36492271db44e373a33e2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_8_0_8</b>&#160;&#160;&#160;8U</td></tr>
<tr class="separator:ga040bc73086a36492271db44e373a33e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafd1420f3bb913b572a496ae82d082e26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafd1420f3bb913b572a496ae82d082e26"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_1_1_4</b>&#160;&#160;&#160;9U</td></tr>
<tr class="separator:gafd1420f3bb913b572a496ae82d082e26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fb313ed7c64e72414189578a533d4ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7fb313ed7c64e72414189578a533d4ab"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_WRITE_4_4_4</b>&#160;&#160;&#160;10U</td></tr>
<tr class="separator:ga7fb313ed7c64e72414189578a533d4ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Chip Select selection</h2></td></tr>
<tr class="memitem:ga40bc60d265ec996c0327b2ae56f22e93"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga40bc60d265ec996c0327b2ae56f22e93">XOSPIPSV_SELECT_FLASH_CS0</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga40bc60d265ec996c0327b2ae56f22e93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select CS0 and CS1.  <a href="#ga40bc60d265ec996c0327b2ae56f22e93">More...</a><br/></td></tr>
<tr class="separator:ga40bc60d265ec996c0327b2ae56f22e93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e63fb4ca85045a809257dea44e49fff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7e63fb4ca85045a809257dea44e49fff"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_SELECT_FLASH_CS1</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga7e63fb4ca85045a809257dea44e49fff"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Prescaler selection</h2></td></tr>
<tr class="memitem:gafa87a0dae28a8b2927c5c8885f7306ff"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gafa87a0dae28a8b2927c5c8885f7306ff">XOSPIPSV_CLK_PRESCALE_2</a>&#160;&#160;&#160;0U</td></tr>
<tr class="memdesc:gafa87a0dae28a8b2927c5c8885f7306ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select different baud rate divisors.  <a href="#gafa87a0dae28a8b2927c5c8885f7306ff">More...</a><br/></td></tr>
<tr class="separator:gafa87a0dae28a8b2927c5c8885f7306ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacaeaebdb5ff4186e5594516e2811bdc0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacaeaebdb5ff4186e5594516e2811bdc0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_4</b>&#160;&#160;&#160;1U</td></tr>
<tr class="separator:gacaeaebdb5ff4186e5594516e2811bdc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0dbc58401f5e44a06981d9697db2fa71"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0dbc58401f5e44a06981d9697db2fa71"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_6</b>&#160;&#160;&#160;2U</td></tr>
<tr class="separator:ga0dbc58401f5e44a06981d9697db2fa71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaecd8ef9b33fad6b7b590e243fe1b971a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaecd8ef9b33fad6b7b590e243fe1b971a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_8</b>&#160;&#160;&#160;3U</td></tr>
<tr class="separator:gaecd8ef9b33fad6b7b590e243fe1b971a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54e41947536783afa4e9df70cb42ca5e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga54e41947536783afa4e9df70cb42ca5e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_10</b>&#160;&#160;&#160;4U</td></tr>
<tr class="separator:ga54e41947536783afa4e9df70cb42ca5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5869a3a26216cc3f44fd48cfa54e885"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5869a3a26216cc3f44fd48cfa54e885"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_12</b>&#160;&#160;&#160;5U</td></tr>
<tr class="separator:gad5869a3a26216cc3f44fd48cfa54e885"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga44cc913c83946a445f7bb2b48a2dce95"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga44cc913c83946a445f7bb2b48a2dce95"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_14</b>&#160;&#160;&#160;6U</td></tr>
<tr class="separator:ga44cc913c83946a445f7bb2b48a2dce95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa58bf9f9a4eafb248e6883005a19d673"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa58bf9f9a4eafb248e6883005a19d673"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_16</b>&#160;&#160;&#160;7U</td></tr>
<tr class="separator:gaa58bf9f9a4eafb248e6883005a19d673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacc0bf7d369703bfe345594943fca6b32"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacc0bf7d369703bfe345594943fca6b32"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_18</b>&#160;&#160;&#160;8U</td></tr>
<tr class="separator:gacc0bf7d369703bfe345594943fca6b32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga79c511af64eb9315a9afef1f08c9b4d6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga79c511af64eb9315a9afef1f08c9b4d6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_20</b>&#160;&#160;&#160;9U</td></tr>
<tr class="separator:ga79c511af64eb9315a9afef1f08c9b4d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3000efb8d382f83208de9b626e92aea1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3000efb8d382f83208de9b626e92aea1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_22</b>&#160;&#160;&#160;10U</td></tr>
<tr class="separator:ga3000efb8d382f83208de9b626e92aea1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3bd4e9f6c431cb59314d5cf0389648db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3bd4e9f6c431cb59314d5cf0389648db"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_24</b>&#160;&#160;&#160;11U</td></tr>
<tr class="separator:ga3bd4e9f6c431cb59314d5cf0389648db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9eee974acb77e1a655c5febe0101564a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9eee974acb77e1a655c5febe0101564a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_26</b>&#160;&#160;&#160;12U</td></tr>
<tr class="separator:ga9eee974acb77e1a655c5febe0101564a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad73c4fb8ab342a52e09f959842874f68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad73c4fb8ab342a52e09f959842874f68"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_28</b>&#160;&#160;&#160;13U</td></tr>
<tr class="separator:gad73c4fb8ab342a52e09f959842874f68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3c1d523d65dd8db2683f81604184b970"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3c1d523d65dd8db2683f81604184b970"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_30</b>&#160;&#160;&#160;14U</td></tr>
<tr class="separator:ga3c1d523d65dd8db2683f81604184b970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca300cf75293c8cf444597c5b2397902"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaca300cf75293c8cf444597c5b2397902"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CLK_PRESCALE_32</b>&#160;&#160;&#160;15U</td></tr>
<tr class="separator:gaca300cf75293c8cf444597c5b2397902"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a91f9d1eaa7c095254cfbf98d984409"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga8a91f9d1eaa7c095254cfbf98d984409"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CR_PRESC_MAXIMUM</b>&#160;&#160;&#160;15U</td></tr>
<tr class="separator:ga8a91f9d1eaa7c095254cfbf98d984409"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Default configuration selection</h2></td></tr>
<tr class="memitem:ga991c187a5fad3e379a163dcd03062869"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga991c187a5fad3e379a163dcd03062869">XOSPIPSV_NO_SLAVE_SELCT_VALUE</a>&#160;&#160;&#160;0xFU</td></tr>
<tr class="memdesc:ga991c187a5fad3e379a163dcd03062869"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select default OSPI configuration.  <a href="#ga991c187a5fad3e379a163dcd03062869">More...</a><br/></td></tr>
<tr class="separator:ga991c187a5fad3e379a163dcd03062869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2060927f297b9906c849b82b8fe03dd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad2060927f297b9906c849b82b8fe03dd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DISABLE_DAC_VALUE</b>&#160;&#160;&#160;0x0U</td></tr>
<tr class="separator:gad2060927f297b9906c849b82b8fe03dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1548e5a26ceaf7f67cbef21b55e7f8e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1548e5a26ceaf7f67cbef21b55e7f8e4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_SPI_DISABLE_VALUE</b>&#160;&#160;&#160;0x0U</td></tr>
<tr class="separator:ga1548e5a26ceaf7f67cbef21b55e7f8e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga10a7ab6142ef8c47b685ae3a41b3a096"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga10a7ab6142ef8c47b685ae3a41b3a096"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CONFIG_INIT_VALUE</b></td></tr>
<tr class="separator:ga10a7ab6142ef8c47b685ae3a41b3a096"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae477b3fcff972f679236ad0fe5a7dc2b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae477b3fcff972f679236ad0fe5a7dc2b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_POLL_CNT_FLD_PHY</b>&#160;&#160;&#160;0x3U</td></tr>
<tr class="separator:gae477b3fcff972f679236ad0fe5a7dc2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82932f620415768076278db6ae963876"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga82932f620415768076278db6ae963876"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_POLL_CNT_FLD_NON_PHY</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:ga82932f620415768076278db6ae963876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee85feb1da4d7ee45733a27be339c468"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaee85feb1da4d7ee45733a27be339c468"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_MIN_PHY_FREQ</b>&#160;&#160;&#160;50000000</td></tr>
<tr class="separator:gaee85feb1da4d7ee45733a27be339c468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97bf16593509dbd288b9359189d10187"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga97bf16593509dbd288b9359189d10187"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DDR_STATS_REG_DUMMY</b>&#160;&#160;&#160;0x8U</td></tr>
<tr class="separator:ga97bf16593509dbd288b9359189d10187"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacece30f46905dd497b71bb48c547eeee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacece30f46905dd497b71bb48c547eeee"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_REMAP_ADDR_VAL</b>&#160;&#160;&#160;0x40000000U</td></tr>
<tr class="separator:gacece30f46905dd497b71bb48c547eeee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bd79b3785a971fb4a3334b2eed27219"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1bd79b3785a971fb4a3334b2eed27219"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_NON_PHY_RD_DLY</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:ga1bd79b3785a971fb4a3334b2eed27219"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Edge mode selection</h2></td></tr>
<tr class="memitem:gaaeb2c46391be17bb6ad395bf2953a63a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaaeb2c46391be17bb6ad395bf2953a63a">XOSPIPSV_EDGE_MODE_SDR_PHY</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:gaaeb2c46391be17bb6ad395bf2953a63a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select different edge modes like SDR+NON-PHY, SDR+PHY and DDR+PHY.  <a href="#gaaeb2c46391be17bb6ad395bf2953a63a">More...</a><br/></td></tr>
<tr class="separator:gaaeb2c46391be17bb6ad395bf2953a63a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4d86dca4be2a3f0fc6c8ba5aa50ed68"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab4d86dca4be2a3f0fc6c8ba5aa50ed68"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_EDGE_MODE_SDR_NON_PHY</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:gab4d86dca4be2a3f0fc6c8ba5aa50ed68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4aa73db6633a7656ac2d1137ebf1046"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac4aa73db6633a7656ac2d1137ebf1046"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_EDGE_MODE_DDR_PHY</b>&#160;&#160;&#160;0x2U</td></tr>
<tr class="separator:gac4aa73db6633a7656ac2d1137ebf1046"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
DLL delay selection</h2></td></tr>
<tr class="memitem:gaa2ca88550aec15d0444ecfeede909e96"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#gaa2ca88550aec15d0444ecfeede909e96">XOSPIPSV_SDR_TX_VAL</a>&#160;&#160;&#160;0x5U</td></tr>
<tr class="memdesc:gaa2ca88550aec15d0444ecfeede909e96"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select TX DLL delays.  <a href="#gaa2ca88550aec15d0444ecfeede909e96">More...</a><br/></td></tr>
<tr class="separator:gaa2ca88550aec15d0444ecfeede909e96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf741c5fd5c724e7830aac4f25a14676f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf741c5fd5c724e7830aac4f25a14676f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DDR_TX_VAL</b>&#160;&#160;&#160;0x0U</td></tr>
<tr class="separator:gaf741c5fd5c724e7830aac4f25a14676f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1d6dce932b27b0be2e68ab1a52d4077d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1d6dce932b27b0be2e68ab1a52d4077d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DDR_TX_VAL_MASTER</b>&#160;&#160;&#160;0x1EU</td></tr>
<tr class="separator:ga1d6dce932b27b0be2e68ab1a52d4077d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29493f81269faccd5588508c1d71d2e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga29493f81269faccd5588508c1d71d2e6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_SDR_TX_VAL_MASTER</b>&#160;&#160;&#160;0x3CU</td></tr>
<tr class="separator:ga29493f81269faccd5588508c1d71d2e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fd3f0f8e6e2beccd5d4dd476b7b1f0f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6fd3f0f8e6e2beccd5d4dd476b7b1f0f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DLL_MAX_TAPS</b>&#160;&#160;&#160;0x7FU</td></tr>
<tr class="separator:ga6fd3f0f8e6e2beccd5d4dd476b7b1f0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
OSPI Device reset selection</h2></td></tr>
<tr class="memitem:ga1354e2d970f4721642687811112360d1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga1354e2d970f4721642687811112360d1">XOSPIPSV_HWPIN_RESET</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:ga1354e2d970f4721642687811112360d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select HWPIN and INBAND resets.  <a href="#ga1354e2d970f4721642687811112360d1">More...</a><br/></td></tr>
<tr class="separator:ga1354e2d970f4721642687811112360d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55adc49e15cf2ea48da37fb42718ed16"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga55adc49e15cf2ea48da37fb42718ed16"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_INBAND_RESET</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:ga55adc49e15cf2ea48da37fb42718ed16"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
DLL mode selection</h2></td></tr>
<tr class="memitem:ga000401b5e3c2ecf2b879ca7f95d86535"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga000401b5e3c2ecf2b879ca7f95d86535">XOSPIPSV_DLL_BYPASS_MODE</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:ga000401b5e3c2ecf2b879ca7f95d86535"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select DLL BYPASS and MASTER modes.  <a href="#ga000401b5e3c2ecf2b879ca7f95d86535">More...</a><br/></td></tr>
<tr class="separator:ga000401b5e3c2ecf2b879ca7f95d86535"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace8550a20acf2b80b9f6c2ef6baa3c3e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gace8550a20acf2b80b9f6c2ef6baa3c3e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DLL_MASTER_MODE</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:gace8550a20acf2b80b9f6c2ef6baa3c3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Connection mode selection</h2></td></tr>
<tr class="memitem:ga95a91c3035b74c7240efd50dcf786b1d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga95a91c3035b74c7240efd50dcf786b1d">XOSPIPSV_CONNECTION_MODE_SINGLE</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:ga95a91c3035b74c7240efd50dcf786b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select SINGLE and STACKED connection modes.  <a href="#ga95a91c3035b74c7240efd50dcf786b1d">More...</a><br/></td></tr>
<tr class="separator:ga95a91c3035b74c7240efd50dcf786b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad034eceb481f5722918c4313070f56f5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad034eceb481f5722918c4313070f56f5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_CONNECTION_MODE_STACKED</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:gad034eceb481f5722918c4313070f56f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Dual Byte opcode selection</h2></td></tr>
<tr class="memitem:ga67ed8369dd3e6a8ab7e92952877a1f4d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ospipsv__api.html#ga67ed8369dd3e6a8ab7e92952877a1f4d">XOSPIPSV_DUAL_BYTE_OP_DISABLE</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:ga67ed8369dd3e6a8ab7e92952877a1f4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to enable/disable Dual Byte opcode.  <a href="#ga67ed8369dd3e6a8ab7e92952877a1f4d">More...</a><br/></td></tr>
<tr class="separator:ga67ed8369dd3e6a8ab7e92952877a1f4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20cee3653bbcb80adcc31f993de12c0d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga20cee3653bbcb80adcc31f993de12c0d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DUAL_BYTE_OP_ENABLE</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:ga20cee3653bbcb80adcc31f993de12c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3012f761e6f72f9faa9ccda20f95459"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad3012f761e6f72f9faa9ccda20f95459"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XOSPIPSV_DUAL_BYTE_OP_SAME</b>&#160;&#160;&#160;0x2U</td></tr>
<tr class="separator:gad3012f761e6f72f9faa9ccda20f95459"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gacc22319a6b88d36c8eb490a567b618cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LOCK_MAX_DELAY_CNT&#160;&#160;&#160;10000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max LOCK delay count. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga943852604b61a80a53f42a143bf87241">XOspiPsv_WaitForLock()</a>.</p>

</div>
</div>
<a class="anchor" id="ga02055aef4b0f9a801005ebdc7b556157"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX_DELAY_CNT&#160;&#160;&#160;10000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; Maximum delay count </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga289baf1466add8dfa4a70a3952354cd7">XOspiPsv_CheckOspiIdle()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8cfa7018351ffa45663961a534fe50b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX_DMA_DELAY_CNT&#160;&#160;&#160;10000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max DMA delay count. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaa2f584dfcca76360b59188e58c60b770">XOspiPsv_Exec_Dma()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2837097f3f203eeff26f5cfc61947bcf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX_IDAC_DELAY_CNT&#160;&#160;&#160;10000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max INDAC delay count. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga8400388c80d471a4535fa7357104f07b">XOspiPsv_IDac_Write()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0107e147ea67ea49c4a858a8df7812e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX_STIG_DELAY_CNT&#160;&#160;&#160;50000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max STIG delay count. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga8bb2848b91c02f54adca66fae6820e7e">XOspiPsv_Exec_Flash_Cmd()</a>.</p>

</div>
</div>
<a class="anchor" id="gae90b7e8c7fe9d94c5c156a07e57fc27c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define READ_ID&#160;&#160;&#160;0x9FU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read Id opcode. </p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a19dbfab221d6a11c3fa45674c1304f2e">FlashReadID()</a>, and <a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay()</a>.</p>

</div>
</div>
<a class="anchor" id="gae47ce4e107756cbd213bf34e51f8ce21"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SILICON_VERSION_1&#160;&#160;&#160;0x10U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Silicon version. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gae5a31f79cc2df46027e4b9f26cad97ad">XOspiPsv_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="gad7c34af4c3051ee8eb5a3e8dfce2a8b5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TERA_MACRO&#160;&#160;&#160;1000000000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macro for 10^12. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gabef79236b8c8e5ada4f6ddb58132e35c">XOspiPsv_CalculateRxTap()</a>.</p>

</div>
</div>
<a class="anchor" id="gafa87a0dae28a8b2927c5c8885f7306ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_CLK_PRESCALE_2&#160;&#160;&#160;0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select different baud rate divisors. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga45c51bcfa1e2d996298847c2b7910ba6">XOspiPsv_SetClkPrescaler()</a>.</p>

</div>
</div>
<a class="anchor" id="ga95a91c3035b74c7240efd50dcf786b1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_CONNECTION_MODE_SINGLE&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select SINGLE and STACKED connection modes. </p>

</div>
</div>
<a class="anchor" id="ga15c0973b6b32cee5484231f4b0964024"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_DAC_EN_OPTION&#160;&#160;&#160;0x1U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>User configuration options. </p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a92ee697864550c95e476b41c43c0764f">FlashSetSDRDDRMode()</a>, <a class="el" href="xospipsv__flash__polled__example_8c.html#a0a18f01d96728256fb8c63b4916039c0">MicronBlockProtectTest()</a>, <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>, and <a class="el" href="group__ospipsv__api.html#gab47df170b16816d4cc11dee6c3008e3c">XOspiPsv_SetOptions()</a>.</p>

</div>
</div>
<a class="anchor" id="ga000401b5e3c2ecf2b879ca7f95d86535"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_DLL_BYPASS_MODE&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select DLL BYPASS and MASTER modes. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gae5a31f79cc2df46027e4b9f26cad97ad">XOspiPsv_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga67ed8369dd3e6a8ab7e92952877a1f4d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_DUAL_BYTE_OP_DISABLE&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to enable/disable Dual Byte opcode. </p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a92ee697864550c95e476b41c43c0764f">FlashSetSDRDDRMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gaaeb2c46391be17bb6ad395bf2953a63a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_EDGE_MODE_SDR_PHY&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select different edge modes like SDR+NON-PHY, SDR+PHY and DDR+PHY. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga74efb98d92b16935c3ea41e4f77cecea">XOspiPsv_SetSdrDdrMode()</a>.</p>

</div>
</div>
<a class="anchor" id="ga376253ea2aaf4288368162dd58da2379"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_H_</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; prevent circular inclusions </p>
<p>by using protection macros </p>

</div>
</div>
<a class="anchor" id="ga1354e2d970f4721642687811112360d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_HWPIN_RESET&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select HWPIN and INBAND resets. </p>

<p>Referenced by <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>, <a class="el" href="group__ospipsv__api.html#ga16fcc38cab80027ea601c99569517067">XOspiPsv_DeviceReset()</a>, and <a class="el" href="group__ospipsv__api.html#ga26ffa91c5d5d79028535a2e3381174e6">XOspiPsv_DeviceResetViaOspi()</a>.</p>

</div>
</div>
<a class="anchor" id="gad90cde53aa1c59a7a9a8450c8b109782"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_IDAC_MODE&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select INDAC and DAC modes. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gae5a31f79cc2df46027e4b9f26cad97ad">XOspiPsv_CfgInitialize()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a08e2382b1a337e871524e10a23f1b984">XOspiPsv_Get_Proto()</a>, <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>, <a class="el" href="group__ospipsv__api.html#gab47df170b16816d4cc11dee6c3008e3c">XOspiPsv_SetOptions()</a>, and <a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="gad5d4884f3757c314991e0d72bf344c59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_LOWLEVEL_H_</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; prevent circular inclusions </p>
<p>by using protection macros </p>

</div>
</div>
<a class="anchor" id="ga21e9a7cc8b92ff2dcc84fafa3f0c21fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_MSG_FLAG_RX&#160;&#160;&#160;0x2U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select RX and TX transfer flags. </p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a223a0d4b5dd8fb7fca1b1e42872d3521">BulkErase()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a7ceb61abe9a7b767c75ad57929adf3b3">DieErase()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a929e1c114b2752e00136aa5ebb3cbeda">FlashEnterExit4BAddMode()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a6d28e30d23e136e4af00a436d43c9923">FlashErase()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a8337d4d551570e7ecaa44321605280a7">FlashIoWrite()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a1355d0e2c6bb04d1f65ca815d71d5996">FlashRead()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a19dbfab221d6a11c3fa45674c1304f2e">FlashReadID()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a92ee697864550c95e476b41c43c0764f">FlashSetSDRDDRMode()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#ab01ca7bff4098e88b315bd230b948658">MxConfigDummy()</a>, <a class="el" href="xospipsv__flash__polled__example_8c.html#a48b07e8e007e2da190edcfc0cc1d389b">SetBlockProtect()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#af2bad08ca36b22108da68d87e5d29201">SpansionSetEccMode()</a>, <a class="el" href="group__ospipsv__api.html#gaa415227de8c6663e478041a82887dd5b">XOspiPsv_IntrHandler()</a>, <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay()</a>, and <a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="ga991c187a5fad3e379a163dcd03062869"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_NO_SLAVE_SELCT_VALUE&#160;&#160;&#160;0xFU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select default OSPI configuration. </p>

</div>
</div>
<a class="anchor" id="ga2de4ead260c6796c2ba21dd9c936f55b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_NUM_OPTIONS&#160;&#160;&#160;(sizeof(OptionsTable) / sizeof(OptionsMap))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Total number of configuration options. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga19324f8c6c1156b26c84cc9d413a4801">XOspiPsv_GetOptions()</a>, and <a class="el" href="group__ospipsv__api.html#gab47df170b16816d4cc11dee6c3008e3c">XOspiPsv_SetOptions()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2cadd5891ddc5aaa4344c4c5f04df53f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_READ_1_1_1&#160;&#160;&#160;0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select Read and Write prototype. </p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a08e2382b1a337e871524e10a23f1b984">XOspiPsv_Get_Proto()</a>, <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>, and <a class="el" href="group__ospipsv__api.html#gaf618dd1d9a3b5fe6a60feedd9cfca12b">XOspiPsv_Setup_Dev_Read_Instr_Reg()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1101ef0b6b567210a26c9b95e3ef2de5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOspiPsv_ReadReg</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">BaseAddress, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">RegOffset&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;Xil_In32((BaseAddress) + (u32)(RegOffset))</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Low level macros to read/write memory. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gabef79236b8c8e5ada4f6ddb58132e35c">XOspiPsv_CalculateRxTap()</a>, <a class="el" href="group__ospipsv__api.html#ga816c6bf2a419d38bd2e4d51a266a6d3b">XOspiPsv_CheckDmaDone()</a>, <a class="el" href="group__ospipsv__api.html#gabba4009ea62fb0b8c856a8582ed9f77b">XOspiPsv_ConfigDualByteOpcode()</a>, <a class="el" href="group__ospipsv__api.html#gaec5aab7a4cee335804494e31429b53ec">XOspiPsv_ConfigureAutoPolling()</a>, <a class="el" href="group__ospipsv__api.html#ga16fcc38cab80027ea601c99569517067">XOspiPsv_DeviceReset()</a>, <a class="el" href="group__ospipsv__api.html#ga26ffa91c5d5d79028535a2e3381174e6">XOspiPsv_DeviceResetViaOspi()</a>, <a class="el" href="group__ospipsv__api.html#gaa2f584dfcca76360b59188e58c60b770">XOspiPsv_Exec_Dma()</a>, <a class="el" href="group__ospipsv__api.html#ga8bb2848b91c02f54adca66fae6820e7e">XOspiPsv_Exec_Flash_Cmd()</a>, <a class="el" href="group__ospipsv__api.html#ga621f2c47a2e8fdf59de28b2333d6da6f">XOspiPsv_FifoRead()</a>, <a class="el" href="group__ospipsv__api.html#ga19324f8c6c1156b26c84cc9d413a4801">XOspiPsv_GetOptions()</a>, <a class="el" href="group__ospipsv__api.html#ga8400388c80d471a4535fa7357104f07b">XOspiPsv_IDac_Write()</a>, <a class="el" href="group__ospipsv__api.html#ga70d2c317de32d39ddab3b585c9da5d69">XOspiPsv_Idle()</a>, <a class="el" href="group__ospipsv__api.html#gaa415227de8c6663e478041a82887dd5b">XOspiPsv_IntrHandler()</a>, <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga45c51bcfa1e2d996298847c2b7910ba6">XOspiPsv_SetClkPrescaler()</a>, <a class="el" href="group__ospipsv__api.html#gab47df170b16816d4cc11dee6c3008e3c">XOspiPsv_SetOptions()</a>, <a class="el" href="group__ospipsv__api.html#ga74efb98d92b16935c3ea41e4f77cecea">XOspiPsv_SetSdrDdrMode()</a>, <a class="el" href="group__ospipsv__api.html#gaf618dd1d9a3b5fe6a60feedd9cfca12b">XOspiPsv_Setup_Dev_Read_Instr_Reg()</a>, <a class="el" href="group__ospipsv__api.html#gaa347217a72ad5240a86eb29dacec9270">XOspiPsv_Setup_Dev_Write_Instr_Reg()</a>, <a class="el" href="group__ospipsv__api.html#gab0a1fd4b1edb33eeb7f14588f09a8355">XOspiPsv_Setup_Devsize()</a>, <a class="el" href="group__ospipsv__api.html#ga4eb9614740f6df4c7a372d9125d5b5e1">XOspiPsv_Start_Indr_RdTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga6af9f098248cd39891e92d9caa1d75c8">XOspiPsv_Stig_Read()</a>, and <a class="el" href="group__ospipsv__api.html#ga1b1a6b7fd20d9183ad58f84d3303eeec">XOspiPsv_Stig_Write()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5cc34e95babfb307ef694eec5cae4067"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_RXADDR_OVER_32BIT&#160;&#160;&#160;0x100000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; Macro used for more than 32-bit address </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga7dd7305678eaea4774657b38046cc5e4">XOspiPsv_Config_Dma()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa2ca88550aec15d0444ecfeede909e96"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_SDR_TX_VAL&#160;&#160;&#160;0x5U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select TX DLL delays. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay()</a>.</p>

</div>
</div>
<a class="anchor" id="ga40bc60d265ec996c0327b2ae56f22e93"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_SELECT_FLASH_CS0&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select CS0 and CS1. </p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a6d28e30d23e136e4af00a436d43c9923">FlashErase()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#ae08db22955675661860c9008890b0138">GetRealAddr()</a>, <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga231f60eeceeca0fd2afab316c2f30424"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XOSPIPSV_TAP_GRAN_SEL_MIN_FREQ&#160;&#160;&#160;120000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Minimum frequency for Tap grain selection. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gae5a31f79cc2df46027e4b9f26cad97ad">XOspiPsv_CfgInitialize()</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga2fded7b6bdbc994e9358fed0cda3a103"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XOspiPsv_StatusHandler)(void *CallBackRef, u32 StatusEvent)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The handler data type allows the user to define a callback function to handle the asynchronous processing for the OSPIPSV device. </p>
<p>The application using this driver is expected to define a handler of this type to support interrupt driven mode. The handler executes in an interrupt context, so only minimal processing should be performed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CallBackRef</td><td>Callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. Its type is not important to the driver, so it is a void pointer. </td></tr>
    <tr><td class="paramname">StatusEvent</td><td>Holds one or more status events that have occurred. See the <a class="el" href="group__ospipsv__api.html#ga96e167a2c7e8917efaf4bcab5c3d561b" title="Sets the status callback function, the status handler, which the driver calls when it encounters cond...">XOspiPsv_SetStatusHandler()</a> for details on the status events that can be passed in the callback. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gabef79236b8c8e5ada4f6ddb58132e35c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_CalculateRxTap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>FlashMsg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>AvgRXTap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>MaxWindowSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>DummyIncr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>TXTap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates the Max window size and the corresponding Average Rx Tap. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">FlashMsg</td><td>Pointer to <a class="el" href="struct_x_ospi_psv___msg.html" title="This typedef contains configuration information for a flash message. ">XOspiPsv_Msg</a> instance. </td></tr>
    <tr><td class="paramname">AvgRXTap</td><td>Pointer to median Rx Tap. </td></tr>
    <tr><td class="paramname">MaxWindowSize</td><td>Pointer to maximum window size. </td></tr>
    <tr><td class="paramname">DummyIncr</td><td>Flag to indicate additional dummy. </td></tr>
    <tr><td class="paramname">TXTap</td><td>Tx tap value used while doing Rx tuning.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if lock bit is set.</li>
<li>XST_FAILURE if fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#aa25599d1a6288004b3462766f05051d4">XOspiPsv::DeviceIdData</a>, <a class="el" href="struct_x_ospi_psv.html#ade8b294559fe3e26e9cc9ae94afa9926">XOspiPsv::DllMode</a>, <a class="el" href="struct_x_ospi_psv.html#a3262e9917d4a04314a8a469c390fdbd2">XOspiPsv::Extra_DummyCycle</a>, <a class="el" href="struct_x_ospi_psv___config.html#ab430e00fabad15b40526f2cc33b66501">XOspiPsv_Config::InputClockHz</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="group__ospipsv__api.html#gad7c34af4c3051ee8eb5a3e8dfce2a8b5">TERA_MACRO</a>, <a class="el" href="group__ospipsv__api.html#gacb2c9597040e54b985ddf380365af639">XOspiPsv_ConfigureTaps()</a>, <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga3ac73304cb055f7184181eb4b176637e">XOspiPsv_ExecuteRxTuning()</a>.</p>

</div>
</div>
<a class="anchor" id="gae5a31f79cc2df46027e4b9f26cad97ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a> *&#160;</td>
          <td class="paramname"><em>ConfigPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes a specific <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance so that the driver is ready to use. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">ConfigPtr</td><td>Reference to a structure containing information about a specific OSPIPSV device. This function initializes an InstancePtr object for a specific device specified by the contents of Config.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_DEVICE_IS_STARTED if the device is already started. It must be stopped to re-initialize. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___config.html#a0579fd6e0f6634462512b623e29beb45">XOspiPsv_Config::BusWidth</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___config.html#a5ca4fb3ed8b0107599596c5cbf8e8591">XOspiPsv_Config::ConnectionMode</a>, <a class="el" href="struct_x_ospi_psv.html#aa25599d1a6288004b3462766f05051d4">XOspiPsv::DeviceIdData</a>, <a class="el" href="struct_x_ospi_psv.html#ade8b294559fe3e26e9cc9ae94afa9926">XOspiPsv::DllMode</a>, <a class="el" href="struct_x_ospi_psv.html#a4796e4047cf6a5cb697cfdb5e4799aa7">XOspiPsv::DualByteOpcodeEn</a>, <a class="el" href="struct_x_ospi_psv.html#a3262e9917d4a04314a8a469c390fdbd2">XOspiPsv::Extra_DummyCycle</a>, <a class="el" href="struct_x_ospi_psv___config.html#ab430e00fabad15b40526f2cc33b66501">XOspiPsv_Config::InputClockHz</a>, <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>, <a class="el" href="struct_x_ospi_psv___config.html#a215dbf976af5b97426b6ac5638c06607">XOspiPsv_Config::IsCacheCoherent</a>, <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, <a class="el" href="struct_x_ospi_psv.html#a37393464bab76176fb86de030eb4f144">XOspiPsv::IsUnaligned</a>, <a class="el" href="struct_x_ospi_psv.html#abb16a8f44c9ec93487044060e9fb522e">XOspiPsv::OpMode</a>, <a class="el" href="struct_x_ospi_psv.html#af9d2352cda8abe04913cfd09201e3cab">XOspiPsv::RecvBufferPtr</a>, <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>, <a class="el" href="struct_x_ospi_psv.html#acf4693770163d8061cd9eb4bdaa32605">XOspiPsv::SdrDdrMode</a>, <a class="el" href="struct_x_ospi_psv.html#afbb922b012156fcef71c375702c2d37b">XOspiPsv::SendBufferPtr</a>, <a class="el" href="group__ospipsv__api.html#gae47ce4e107756cbd213bf34e51f8ce21">SILICON_VERSION_1</a>, <a class="el" href="struct_x_ospi_psv.html#a9bb551c6d2885989ab98be25e8794c5d">XOspiPsv::StatusHandler</a>, <a class="el" href="struct_x_ospi_psv.html#a307cc221c5d9dde996530c5edc151e8e">XOspiPsv::TxBytes</a>, <a class="el" href="group__ospipsv__api.html#ga000401b5e3c2ecf2b879ca7f95d86535">XOSPIPSV_DLL_BYPASS_MODE</a>, <a class="el" href="group__ospipsv__api.html#gad90cde53aa1c59a7a9a8450c8b109782">XOSPIPSV_IDAC_MODE</a>, <a class="el" href="group__ospipsv__api.html#gab43ba912b750cce29cef9d5d652e11af">XOspiPsv_Reset()</a>, <a class="el" href="group__ospipsv__api.html#ga74efb98d92b16935c3ea41e4f77cecea">XOspiPsv_SetSdrDdrMode()</a>, and <a class="el" href="group__ospipsv__api.html#ga231f60eeceeca0fd2afab316c2f30424">XOSPIPSV_TAP_GRAN_SEL_MIN_FREQ</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga816c6bf2a419d38bd2e4d51a266a6d3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_CheckDmaDone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks for DMA transfer complete. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if DMA transfer complete.</li>
<li>XST_FAILURE if DMA transfer is not completed. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>, <a class="el" href="struct_x_ospi_psv___config.html#a215dbf976af5b97426b6ac5638c06607">XOspiPsv_Config::IsCacheCoherent</a>, <a class="el" href="struct_x_ospi_psv.html#a92c14bd0533b97db4837dca410bb7ab5">XOspiPsv::Msg</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#af3b6091e16d13e4be338d18494c63485">XOspiPsv_Msg::Xfer64bit</a>, <a class="el" href="group__ospipsv__api.html#ga289baf1466add8dfa4a70a3952354cd7">XOspiPsv_CheckOspiIdle()</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

</div>
</div>
<a class="anchor" id="ga289baf1466add8dfa4a70a3952354cd7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_CheckOspiIdle </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks for OSPI idle which means Serial interface and low level SPI pipeline is IDLE. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, and <a class="el" href="group__ospipsv__api.html#ga02055aef4b0f9a801005ebdc7b556157">MAX_DELAY_CNT</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga816c6bf2a419d38bd2e4d51a266a6d3b">XOspiPsv_CheckDmaDone()</a>, <a class="el" href="group__ospipsv__api.html#gaa415227de8c6663e478041a82887dd5b">XOspiPsv_IntrHandler()</a>, <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay()</a>, and <a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7dd7305678eaea4774657b38046cc5e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Config_Dma </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets up the Dma configuration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___config.html#a215dbf976af5b97426b6ac5638c06607">XOspiPsv_Config::IsCacheCoherent</a>, <a class="el" href="struct_x_ospi_psv___msg.html#abaa1e4b4bd1883e86018d400c49d438a">XOspiPsv_Msg::RxAddr64bit</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#af3b6091e16d13e4be338d18494c63485">XOspiPsv_Msg::Xfer64bit</a>, and <a class="el" href="group__ospipsv__api.html#ga5cc34e95babfb307ef694eec5cae4067">XOSPIPSV_RXADDR_OVER_32BIT</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gab882c01ec4fd29b29a58e0a07075414d">XOspiPsv_Dma_Read()</a>, <a class="el" href="group__ospipsv__api.html#gaa415227de8c6663e478041a82887dd5b">XOspiPsv_IntrHandler()</a>, <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, and <a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="gae199f0006d6d3282aad2a18c4e87d479"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Config_IndirectAhb </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the Indirect controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, and <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gab882c01ec4fd29b29a58e0a07075414d">XOspiPsv_Dma_Read()</a>, <a class="el" href="group__ospipsv__api.html#gaa415227de8c6663e478041a82887dd5b">XOspiPsv_IntrHandler()</a>, <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, and <a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="gabba4009ea62fb0b8c856a8582ed9f77b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_ConfigDualByteOpcode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the dual-byte opcode mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Enable</td><td>1 to enable dual-byte opcode, 0 to disable.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a4796e4047cf6a5cb697cfdb5e4799aa7">XOspiPsv::DualByteOpcodeEn</a>, <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a92ee697864550c95e476b41c43c0764f">FlashSetSDRDDRMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gaec5aab7a4cee335804494e31429b53ec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_ConfigureAutoPolling </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>FlashMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures how the controller will poll the device following a write transfer in DAC mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">FlashMode</td><td>Edge mode. XOSPIPSV_EDGE_MODE_* represents valid values.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail to set. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a3262e9917d4a04314a8a469c390fdbd2">XOspiPsv::Extra_DummyCycle</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a92ee697864550c95e476b41c43c0764f">FlashSetSDRDDRMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gacb2c9597040e54b985ddf380365af639"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_ConfigureTaps </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>RxTap</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>TxTap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the Rx and Tx taps in Phy Configuration register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">RxTap</td><td>Rx tap value. </td></tr>
    <tr><td class="paramname">TxTap</td><td>Tx tap value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#ade8b294559fe3e26e9cc9ae94afa9926">XOspiPsv::DllMode</a>, and <a class="el" href="group__ospipsv__api.html#ga943852604b61a80a53f42a143bf87241">XOspiPsv_WaitForLock()</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gabef79236b8c8e5ada4f6ddb58132e35c">XOspiPsv_CalculateRxTap()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9f70d70b4dcd8a325a7dacc3aa31a5ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_Dac_Read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the data using Linear controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE for invalid address. </li>
</ul>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, and <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="gadb1ae4f737c07e890039cdaf3a006b26"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_Dac_Write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes the data Using Linear controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE for invalid address. </li>
</ul>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a95f5d41c7ebd3d5b5da41c6289049e6f">XOspiPsv_Msg::TxBfrPtr</a>, and <a class="el" href="struct_x_ospi_psv.html#a307cc221c5d9dde996530c5edc151e8e">XOspiPsv::TxBytes</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="ga16fcc38cab80027ea601c99569517067"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_DeviceReset </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Type</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset the OSPI flash device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Type</td><td>Reset type.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE for invalid Reset Type. </li>
</ul>

<p>References <a class="el" href="group__ospipsv__api.html#ga1354e2d970f4721642687811112360d1">XOSPIPSV_HWPIN_RESET</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga26ffa91c5d5d79028535a2e3381174e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_DeviceResetViaOspi </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets the OSPI flash device via OSPI controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Type</td><td>Resets type.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE for invalid Reset Type. </li>
</ul>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="group__ospipsv__api.html#ga1354e2d970f4721642687811112360d1">XOSPIPSV_HWPIN_RESET</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gab882c01ec4fd29b29a58e0a07075414d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_Dma_Read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the data using DMA. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE if transfer fails. </li>
</ul>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___config.html#a215dbf976af5b97426b6ac5638c06607">XOspiPsv_Config::IsCacheCoherent</a>, <a class="el" href="struct_x_ospi_psv.html#a37393464bab76176fb86de030eb4f144">XOspiPsv::IsUnaligned</a>, <a class="el" href="struct_x_ospi_psv.html#af9d2352cda8abe04913cfd09201e3cab">XOspiPsv::RecvBufferPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>, <a class="el" href="struct_x_ospi_psv___msg.html#af3b6091e16d13e4be338d18494c63485">XOspiPsv_Msg::Xfer64bit</a>, <a class="el" href="group__ospipsv__api.html#ga7dd7305678eaea4774657b38046cc5e4">XOspiPsv_Config_Dma()</a>, <a class="el" href="group__ospipsv__api.html#gae199f0006d6d3282aad2a18c4e87d479">XOspiPsv_Config_IndirectAhb()</a>, and <a class="el" href="group__ospipsv__api.html#gaa2f584dfcca76360b59188e58c60b770">XOspiPsv_Exec_Dma()</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa2f584dfcca76360b59188e58c60b770"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_Exec_Dma </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initiates the DMA transfer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE if transfer fails. </li>
</ul>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="group__ospipsv__api.html#ga8cfa7018351ffa45663961a534fe50b4">MAX_DMA_DELAY_CNT</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gab882c01ec4fd29b29a58e0a07075414d">XOspiPsv_Dma_Read()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8bb2848b91c02f54adca66fae6820e7e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_Exec_Flash_Cmd </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes the Flash command configured using Flash Command control register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE if transfer fails.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>Wait till the command is executed. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="group__ospipsv__api.html#ga0107e147ea67ea49c4a858a8df7812e5">MAX_STIG_DELAY_CNT</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga6af9f098248cd39891e92d9caa1d75c8">XOspiPsv_Stig_Read()</a>, and <a class="el" href="group__ospipsv__api.html#ga1b1a6b7fd20d9183ad58f84d3303eeec">XOspiPsv_Stig_Write()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3ac73304cb055f7184181eb4b176637e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_ExecuteRxTuning </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>FlashMsg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>TXTap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs RX Tuning for SDR/DDR mode to calculate RX DLL Delay. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">FlashMsg</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv___msg.html" title="This typedef contains configuration information for a flash message. ">XOspiPsv_Msg</a> structure. </td></tr>
    <tr><td class="paramname">TXTap</td><td>TX DLL Delay value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#ade8b294559fe3e26e9cc9ae94afa9926">XOspiPsv::DllMode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aee5814ae840542f0968358c6c00371d8">XOspiPsv_Msg::Dummy</a>, <a class="el" href="group__ospipsv__api.html#gabef79236b8c8e5ada4f6ddb58132e35c">XOspiPsv_CalculateRxTap()</a>, and <a class="el" href="group__ospipsv__api.html#ga943852604b61a80a53f42a143bf87241">XOspiPsv_WaitForLock()</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay()</a>.</p>

</div>
</div>
<a class="anchor" id="ga621f2c47a2e8fdf59de28b2333d6da6f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_FifoRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads data from RX FIFO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This operation is in IO mode of reading. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaa415227de8c6663e478041a82887dd5b">XOspiPsv_IntrHandler()</a>, and <a class="el" href="group__ospipsv__api.html#ga6af9f098248cd39891e92d9caa1d75c8">XOspiPsv_Stig_Read()</a>.</p>

</div>
</div>
<a class="anchor" id="ga54d82d31820cd30d9c32055380e0ab04"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_FifoWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes data to TX FIFO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if transfer fails.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This operation is in IO mode of writing. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a95f5d41c7ebd3d5b5da41c6289049e6f">XOspiPsv_Msg::TxBfrPtr</a>, and <a class="el" href="struct_x_ospi_psv.html#a307cc221c5d9dde996530c5edc151e8e">XOspiPsv::TxBytes</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, and <a class="el" href="group__ospipsv__api.html#ga1b1a6b7fd20d9183ad58f84d3303eeec">XOspiPsv_Stig_Write()</a>.</p>

</div>
</div>
<a class="anchor" id="ga19324f8c6c1156b26c84cc9d413a4801"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_GetOptions </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the options for the OSPIPSV device. </p>
<p>The options control how the device behaves relative to the OSPIPSV bus.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Options contains the specified options currently set. This is a bit Value where a 1 means the option is on, and a 0 means the option is off. See the bit definitions named XOSPIPSV_*_OPTIONS in file <a class="el" href="xospipsv_8h.html">xospipsv.h</a>. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, <a class="el" href="group__ospipsv__api.html#ga2de4ead260c6796c2ba21dd9c936f55b">XOSPIPSV_NUM_OPTIONS</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__polled__example_8c.html#a0a18f01d96728256fb8c63b4916039c0">MicronBlockProtectTest()</a>, <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8400388c80d471a4535fa7357104f07b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_IDac_Write </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Writes data in Non-DMA Indirect mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>- XST_SUCCESS if successful.<ul>
<li>XST_FAILURE if fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="group__ospipsv__api.html#ga2837097f3f203eeff26f5cfc61947bcf">MAX_IDAC_DELAY_CNT</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a95f5d41c7ebd3d5b5da41c6289049e6f">XOspiPsv_Msg::TxBfrPtr</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="ga70d2c317de32d39ddab3b585c9da5d69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Idle </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Stops the transfer of data to internal DST FIFO from stream interface and also stops the issuing of new write commands to memory. </p>
<p>By calling this API, any ongoing Dma transfers will be paused and DMA will not issue AXI write commands to memory</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

</div>
</div>
<a class="anchor" id="gaa415227de8c6663e478041a82887dd5b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_IntrHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Handles interrupt based transfers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_DEVICE_BUSY if a transfer is already in progress. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a3df927f0564ffc2896abff80b63e5601">XOspiPsv_Msg::Addrvalid</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a960350cdb6c3c5dc679c637ca1e21be0">XOspiPsv_Msg::Flags</a>, <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>, <a class="el" href="struct_x_ospi_psv___config.html#a215dbf976af5b97426b6ac5638c06607">XOspiPsv_Config::IsCacheCoherent</a>, <a class="el" href="struct_x_ospi_psv.html#a37393464bab76176fb86de030eb4f144">XOspiPsv::IsUnaligned</a>, <a class="el" href="struct_x_ospi_psv.html#a92c14bd0533b97db4837dca410bb7ab5">XOspiPsv::Msg</a>, <a class="el" href="struct_x_ospi_psv.html#af9d2352cda8abe04913cfd09201e3cab">XOspiPsv::RecvBufferPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>, <a class="el" href="struct_x_ospi_psv.html#a9bb551c6d2885989ab98be25e8794c5d">XOspiPsv::StatusHandler</a>, <a class="el" href="struct_x_ospi_psv.html#a16659fb6fc5bf47ca3441471f1191c14">XOspiPsv::StatusRef</a>, <a class="el" href="struct_x_ospi_psv___msg.html#af3b6091e16d13e4be338d18494c63485">XOspiPsv_Msg::Xfer64bit</a>, <a class="el" href="group__ospipsv__api.html#ga289baf1466add8dfa4a70a3952354cd7">XOspiPsv_CheckOspiIdle()</a>, <a class="el" href="group__ospipsv__api.html#ga7dd7305678eaea4774657b38046cc5e4">XOspiPsv_Config_Dma()</a>, <a class="el" href="group__ospipsv__api.html#gae199f0006d6d3282aad2a18c4e87d479">XOspiPsv_Config_IndirectAhb()</a>, <a class="el" href="group__ospipsv__api.html#ga621f2c47a2e8fdf59de28b2333d6da6f">XOspiPsv_FifoRead()</a>, <a class="el" href="group__ospipsv__api.html#ga21e9a7cc8b92ff2dcc84fafa3f0c21fa">XOSPIPSV_MSG_FLAG_RX</a>, <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>, and <a class="el" href="group__ospipsv__api.html#ga4eb9614740f6df4c7a372d9125d5b5e1">XOspiPsv_Start_Indr_RdTransfer()</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gaaf23d7567b974cfac69ecadd2919999d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_IntrTransfer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs a transfer on the bus in interrupt mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_DEVICE_BUSY if a transfer is already in progress. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aed44f5b363f17a6ebb50ec89b032f112">XOspiPsv_Msg::Addrsize</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a3df927f0564ffc2896abff80b63e5601">XOspiPsv_Msg::Addrvalid</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aee5814ae840542f0968358c6c00371d8">XOspiPsv_Msg::Dummy</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a960350cdb6c3c5dc679c637ca1e21be0">XOspiPsv_Msg::Flags</a>, <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>, <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, <a class="el" href="struct_x_ospi_psv.html#a37393464bab76176fb86de030eb4f144">XOspiPsv::IsUnaligned</a>, <a class="el" href="struct_x_ospi_psv.html#a92c14bd0533b97db4837dca410bb7ab5">XOspiPsv::Msg</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a55ac289317d94775757cac9529ea51c2">XOspiPsv_Msg::Opcode</a>, <a class="el" href="struct_x_ospi_psv.html#abb16a8f44c9ec93487044060e9fb522e">XOspiPsv::OpMode</a>, <a class="el" href="struct_x_ospi_psv.html#af9d2352cda8abe04913cfd09201e3cab">XOspiPsv::RecvBufferPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>, <a class="el" href="struct_x_ospi_psv.html#afbb922b012156fcef71c375702c2d37b">XOspiPsv::SendBufferPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a95f5d41c7ebd3d5b5da41c6289049e6f">XOspiPsv_Msg::TxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#a307cc221c5d9dde996530c5edc151e8e">XOspiPsv::TxBytes</a>, <a class="el" href="group__ospipsv__api.html#ga289baf1466add8dfa4a70a3952354cd7">XOspiPsv_CheckOspiIdle()</a>, <a class="el" href="group__ospipsv__api.html#ga7dd7305678eaea4774657b38046cc5e4">XOspiPsv_Config_Dma()</a>, <a class="el" href="group__ospipsv__api.html#gae199f0006d6d3282aad2a18c4e87d479">XOspiPsv_Config_IndirectAhb()</a>, <a class="el" href="group__ospipsv__api.html#ga54d82d31820cd30d9c32055380e0ab04">XOspiPsv_FifoWrite()</a>, <a class="el" href="group__ospipsv__api.html#ga21e9a7cc8b92ff2dcc84fafa3f0c21fa">XOSPIPSV_MSG_FLAG_RX</a>, <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>, <a class="el" href="group__ospipsv__api.html#gaf618dd1d9a3b5fe6a60feedd9cfca12b">XOspiPsv_Setup_Dev_Read_Instr_Reg()</a>, <a class="el" href="group__ospipsv__api.html#gaa347217a72ad5240a86eb29dacec9270">XOspiPsv_Setup_Dev_Write_Instr_Reg()</a>, <a class="el" href="group__ospipsv__api.html#gab0a1fd4b1edb33eeb7f14588f09a8355">XOspiPsv_Setup_Devsize()</a>, <a class="el" href="group__ospipsv__api.html#gafb4ad780fc9faa2f91aa7208ceb91583">XOspiPsv_Setup_Stig_Ctrl()</a>, and <a class="el" href="group__ospipsv__api.html#ga4eb9614740f6df4c7a372d9125d5b5e1">XOspiPsv_Start_Indr_RdTransfer()</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a223a0d4b5dd8fb7fca1b1e42872d3521">BulkErase()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a7ceb61abe9a7b767c75ad57929adf3b3">DieErase()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a929e1c114b2752e00136aa5ebb3cbeda">FlashEnterExit4BAddMode()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a6d28e30d23e136e4af00a436d43c9923">FlashErase()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a8337d4d551570e7ecaa44321605280a7">FlashIoWrite()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a1355d0e2c6bb04d1f65ca815d71d5996">FlashRead()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a19dbfab221d6a11c3fa45674c1304f2e">FlashReadID()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a92ee697864550c95e476b41c43c0764f">FlashSetSDRDDRMode()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#ab01ca7bff4098e88b315bd230b948658">MxConfigDummy()</a>, and <a class="el" href="xospipsv__flash__intr__example_8c.html#af2bad08ca36b22108da68d87e5d29201">SpansionSetEccMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf44a1c9ce528880318fbfd61c256b0d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a> * XOspiPsv_LookupConfig </td>
          <td>(</td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>DeviceId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Looks up the device configuration based on the unique device ID. </p>
<p>A table contains the configuration info for each device in the system.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">DeviceId</td><td>Contains the ID of the device to look up the configuration for.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to the configuration found or NULL if the specified device ID was not found. See XOspiPsv.h for the definition of <a class="el" href="struct_x_ospi_psv___config.html" title="This typedef contains configuration information for the device. ">XOspiPsv_Config</a>. </dd></dl>

<p>References <a class="el" href="group__ospipsv__api.html#ga992d9fa781379e0cc76acdc13cb8b54c">XOspiPsv_ConfigTable</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga808cc2759798221d0d4f44eef27c0629"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_PollTransfer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Performs a transfer on the bus in polled mode. </p>
<p>The messages passed are all transferred on the bus between one CS assert and de-assert.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if transfer fails.</li>
<li>XST_DEVICE_BUSY if a transfer is already in progress. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#a3df927f0564ffc2896abff80b63e5601">XOspiPsv_Msg::Addrvalid</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a960350cdb6c3c5dc679c637ca1e21be0">XOspiPsv_Msg::Flags</a>, <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>, <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, <a class="el" href="struct_x_ospi_psv.html#a92c14bd0533b97db4837dca410bb7ab5">XOspiPsv::Msg</a>, <a class="el" href="struct_x_ospi_psv.html#abb16a8f44c9ec93487044060e9fb522e">XOspiPsv::OpMode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a9d8c2658ecdf8c0e9d7f4196844cccf0">XOspiPsv_Msg::Proto</a>, <a class="el" href="struct_x_ospi_psv.html#af9d2352cda8abe04913cfd09201e3cab">XOspiPsv::RecvBufferPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>, <a class="el" href="struct_x_ospi_psv.html#afbb922b012156fcef71c375702c2d37b">XOspiPsv::SendBufferPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a95f5d41c7ebd3d5b5da41c6289049e6f">XOspiPsv_Msg::TxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#a307cc221c5d9dde996530c5edc151e8e">XOspiPsv::TxBytes</a>, <a class="el" href="group__ospipsv__api.html#ga289baf1466add8dfa4a70a3952354cd7">XOspiPsv_CheckOspiIdle()</a>, <a class="el" href="group__ospipsv__api.html#ga9f70d70b4dcd8a325a7dacc3aa31a5ef">XOspiPsv_Dac_Read()</a>, <a class="el" href="group__ospipsv__api.html#gadb1ae4f737c07e890039cdaf3a006b26">XOspiPsv_Dac_Write()</a>, <a class="el" href="group__ospipsv__api.html#gab882c01ec4fd29b29a58e0a07075414d">XOspiPsv_Dma_Read()</a>, <a class="el" href="group__ospipsv__api.html#gad90cde53aa1c59a7a9a8450c8b109782">XOSPIPSV_IDAC_MODE</a>, <a class="el" href="group__ospipsv__api.html#ga8400388c80d471a4535fa7357104f07b">XOspiPsv_IDac_Write()</a>, <a class="el" href="group__ospipsv__api.html#ga21e9a7cc8b92ff2dcc84fafa3f0c21fa">XOSPIPSV_MSG_FLAG_RX</a>, <a class="el" href="group__ospipsv__api.html#ga2cadd5891ddc5aaa4344c4c5f04df53f">XOSPIPSV_READ_1_1_1</a>, <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>, <a class="el" href="group__ospipsv__api.html#gaf618dd1d9a3b5fe6a60feedd9cfca12b">XOspiPsv_Setup_Dev_Read_Instr_Reg()</a>, <a class="el" href="group__ospipsv__api.html#gaa347217a72ad5240a86eb29dacec9270">XOspiPsv_Setup_Dev_Write_Instr_Reg()</a>, <a class="el" href="group__ospipsv__api.html#gab0a1fd4b1edb33eeb7f14588f09a8355">XOspiPsv_Setup_Devsize()</a>, <a class="el" href="group__ospipsv__api.html#ga6af9f098248cd39891e92d9caa1d75c8">XOspiPsv_Stig_Read()</a>, and <a class="el" href="group__ospipsv__api.html#ga1b1a6b7fd20d9183ad58f84d3303eeec">XOspiPsv_Stig_Write()</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__polled__example_8c.html#a6fff73aa13d90cd15521ab1f7de503dc">FlashLinearWrite()</a>, <a class="el" href="xospipsv__flash__polled__example_8c.html#a48b07e8e007e2da190edcfc0cc1d389b">SetBlockProtect()</a>, and <a class="el" href="group__ospipsv__api.html#gabef79236b8c8e5ada4f6ddb58132e35c">XOspiPsv_CalculateRxTap()</a>.</p>

</div>
</div>
<a class="anchor" id="gab43ba912b750cce29cef9d5d652e11af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Reset </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets the configuration register. </p>
<p>The Upper layer software is responsible for re-configuring (if necessary) and restarting the OSPIPSV device after the reset.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, and <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gae5a31f79cc2df46027e4b9f26cad97ad">XOspiPsv_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2d17525a71d9df7268fcc4269f19270c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_SelectFlash </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>chip_select</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Used to signify the OSPIPSV driver that the Hardware flash configuration being used. </p>
<p>This API should be called at least once in the application. If desired, it can be called multiple times when switching between communicating to different flash devices/using different configuration.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">chip_select</td><td>Flash Chip Select.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_DEVICE_IS_STARTED if the device is already started. It must be stopped to re-initialize.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If this function is not called at least once in the application, the driver assumes there is a single flash connected to the lower bus and CS line. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv.html#ab2b697261a3df6ef3dd35b87192de190">XOspiPsv::ChipSelect</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a6d28e30d23e136e4af00a436d43c9923">FlashErase()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#ae08db22955675661860c9008890b0138">GetRealAddr()</a>, <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga45c51bcfa1e2d996298847c2b7910ba6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_SetClkPrescaler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Prescaler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the clock according to the prescaler passed. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Prescaler</td><td>Clock prescaler to be set.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE if failed to set prescaler.<ul>
<li>XST_DEVICE_IS_STARTED if the device is already started.</li>
<li>XST_DEVICE_BUSY if the device is currently transferring data. It must be stopped to re-initialize. </li>
</ul>
</li>
</ul>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>, <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, <a class="el" href="struct_x_ospi_psv.html#acf4693770163d8061cd9eb4bdaa32605">XOspiPsv::SdrDdrMode</a>, <a class="el" href="group__ospipsv__api.html#gafa87a0dae28a8b2927c5c8885f7306ff">XOSPIPSV_CLK_PRESCALE_2</a>, <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>, and <a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay()</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3946ea37da6d9ce478f29eca239b597b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_SetDllDelay </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures TX and RX DLL Delay. </p>
<p>Based on the mode and reference clock this API calculates the RX delay and configure them in PHY configuration register.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aed44f5b363f17a6ebb50ec89b032f112">XOspiPsv_Msg::Addrsize</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a3df927f0564ffc2896abff80b63e5601">XOspiPsv_Msg::Addrvalid</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#ade8b294559fe3e26e9cc9ae94afa9926">XOspiPsv::DllMode</a>, <a class="el" href="struct_x_ospi_psv.html#a4796e4047cf6a5cb697cfdb5e4799aa7">XOspiPsv::DualByteOpcodeEn</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aee5814ae840542f0968358c6c00371d8">XOspiPsv_Msg::Dummy</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a63025a20ca549b4b65f2c6d611d40abc">XOspiPsv_Msg::ExtendedOpcode</a>, <a class="el" href="struct_x_ospi_psv.html#a3262e9917d4a04314a8a469c390fdbd2">XOspiPsv::Extra_DummyCycle</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a960350cdb6c3c5dc679c637ca1e21be0">XOspiPsv_Msg::Flags</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a5a9c4b0b141795207120a3d62c6d5144">XOspiPsv_Msg::IsDDROpCode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a55ac289317d94775757cac9529ea51c2">XOspiPsv_Msg::Opcode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a9d8c2658ecdf8c0e9d7f4196844cccf0">XOspiPsv_Msg::Proto</a>, <a class="el" href="group__ospipsv__api.html#gae90b7e8c7fe9d94c5c156a07e57fc27c">READ_ID</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#acf4693770163d8061cd9eb4bdaa32605">XOspiPsv::SdrDdrMode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a95f5d41c7ebd3d5b5da41c6289049e6f">XOspiPsv_Msg::TxBfrPtr</a>, <a class="el" href="group__ospipsv__api.html#ga289baf1466add8dfa4a70a3952354cd7">XOspiPsv_CheckOspiIdle()</a>, <a class="el" href="group__ospipsv__api.html#ga3ac73304cb055f7184181eb4b176637e">XOspiPsv_ExecuteRxTuning()</a>, <a class="el" href="group__ospipsv__api.html#ga21e9a7cc8b92ff2dcc84fafa3f0c21fa">XOSPIPSV_MSG_FLAG_RX</a>, <a class="el" href="group__ospipsv__api.html#gaa2ca88550aec15d0444ecfeede909e96">XOSPIPSV_SDR_TX_VAL</a>, and <a class="el" href="group__ospipsv__api.html#ga943852604b61a80a53f42a143bf87241">XOspiPsv_WaitForLock()</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga45c51bcfa1e2d996298847c2b7910ba6">XOspiPsv_SetClkPrescaler()</a>, and <a class="el" href="group__ospipsv__api.html#ga74efb98d92b16935c3ea41e4f77cecea">XOspiPsv_SetSdrDdrMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gab47df170b16816d4cc11dee6c3008e3c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_SetOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Options</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the options for the OSPIPSV device driver.The options control how the device behaves relative to the OSPIPSV bus. </p>
<p>The device must be idle rather than busy transferring data before setting these device options.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Options</td><td>Contains the specified options to be set. This is a bit mask where a 1 indicates the option should be turned ON and a 0 indicates no action. One or more bit Values may be contained in the mask. See the bit definitions named XOSPIPSV_*_OPTIONS in the file <a class="el" href="xospipsv_8h.html">xospipsv.h</a>.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if options are successfully set.</li>
<li>XST_DEVICE_BUSY if the device is currently transferring data. The transfer must complete or be aborted before setting options.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function is not thread-safe. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>, <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, <a class="el" href="struct_x_ospi_psv.html#abb16a8f44c9ec93487044060e9fb522e">XOspiPsv::OpMode</a>, <a class="el" href="group__ospipsv__api.html#ga15c0973b6b32cee5484231f4b0964024">XOSPIPSV_DAC_EN_OPTION</a>, <a class="el" href="group__ospipsv__api.html#gad90cde53aa1c59a7a9a8450c8b109782">XOSPIPSV_IDAC_MODE</a>, <a class="el" href="group__ospipsv__api.html#ga2de4ead260c6796c2ba21dd9c936f55b">XOSPIPSV_NUM_OPTIONS</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, and <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga74efb98d92b16935c3ea41e4f77cecea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_SetSdrDdrMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the edge mode (SDR or DDR). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Mode</td><td>Edge mode. XOSPIPSV_EDGE_MODE_* represents valid values.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if fail to set. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#acf4693770163d8061cd9eb4bdaa32605">XOspiPsv::SdrDdrMode</a>, <a class="el" href="group__ospipsv__api.html#gaaeb2c46391be17bb6ad395bf2953a63a">XOSPIPSV_EDGE_MODE_SDR_PHY</a>, <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>, and <a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay()</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a92ee697864550c95e476b41c43c0764f">FlashSetSDRDDRMode()</a>, <a class="el" href="xospipsv__flash__non__blocking__read__example_8c.html#add3e41c7ec3ce5d1ae9f84b65b180829">OspiPsvFlashNonBlockingReadExample()</a>, <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>, <a class="el" href="xospipsv__flash__polled__example_8c.html#a47495bff6dd24133e2922fd1d1af277a">OspiPsvPolledFlashExample()</a>, and <a class="el" href="group__ospipsv__api.html#gae5a31f79cc2df46027e4b9f26cad97ad">XOspiPsv_CfgInitialize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga96e167a2c7e8917efaf4bcab5c3d561b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_SetStatusHandler </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>CallBackRef</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__ospipsv__api.html#ga2fded7b6bdbc994e9358fed0cda3a103">XOspiPsv_StatusHandler</a>&#160;</td>
          <td class="paramname"><em>FuncPointer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the status callback function, the status handler, which the driver calls when it encounters conditions that should be reported to upper layer software. </p>
<p>The handler executes in an interrupt context, so it must minimize the amount of processing performed. One of the following status events is passed to the status handler.</p>
<pre></pre><pre>XST_SPI_TRANSFER_DONE           The requested data transfer is done</pre><pre></pre> <dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">CallBackRef</td><td>Upper layer callback reference passed back when the callback function is invoked. </td></tr>
    <tr><td class="paramname">FuncPointer</td><td>Pointer to the callback function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd></dd></dl>
<p>The handler is called within interrupt context, so it should do its work quickly and queue potentially time-consuming work to a task-level thread. </p>

<p>References <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, <a class="el" href="struct_x_ospi_psv.html#a9bb551c6d2885989ab98be25e8794c5d">XOspiPsv::StatusHandler</a>, and <a class="el" href="struct_x_ospi_psv.html#a16659fb6fc5bf47ca3441471f1191c14">XOspiPsv::StatusRef</a>.</p>

<p>Referenced by <a class="el" href="xospipsv__flash__intr__example_8c.html#a034bc36898a4bbba7b539ae8918e4f3c">OspiPsvInterruptFlashExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf618dd1d9a3b5fe6a60feedd9cfca12b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Setup_Dev_Read_Instr_Reg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the below info to read instruction register DataXfertype - SPI/Dual/Quad/Octal AddrXfertype - 3 or 4B. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Used in DMA or Linear operations </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a4796e4047cf6a5cb697cfdb5e4799aa7">XOspiPsv::DualByteOpcodeEn</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aee5814ae840542f0968358c6c00371d8">XOspiPsv_Msg::Dummy</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a63025a20ca549b4b65f2c6d611d40abc">XOspiPsv_Msg::ExtendedOpcode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a5a9c4b0b141795207120a3d62c6d5144">XOspiPsv_Msg::IsDDROpCode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a55ac289317d94775757cac9529ea51c2">XOspiPsv_Msg::Opcode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a9d8c2658ecdf8c0e9d7f4196844cccf0">XOspiPsv_Msg::Proto</a>, <a class="el" href="struct_x_ospi_psv.html#acf4693770163d8061cd9eb4bdaa32605">XOspiPsv::SdrDdrMode</a>, <a class="el" href="group__ospipsv__api.html#ga2cadd5891ddc5aaa4344c4c5f04df53f">XOSPIPSV_READ_1_1_1</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>, and <a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa347217a72ad5240a86eb29dacec9270"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Setup_Dev_Write_Instr_Reg </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the below info to write instruction register DataXfertype - SPI/Dual/Quad/Octal AddrXfertype - 3 or 4B. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Used in DMA or Linear operations. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a4796e4047cf6a5cb697cfdb5e4799aa7">XOspiPsv::DualByteOpcodeEn</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a63025a20ca549b4b65f2c6d611d40abc">XOspiPsv_Msg::ExtendedOpcode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a55ac289317d94775757cac9529ea51c2">XOspiPsv_Msg::Opcode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a9d8c2658ecdf8c0e9d7f4196844cccf0">XOspiPsv_Msg::Proto</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, and <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="gab0a1fd4b1edb33eeb7f14588f09a8355"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Setup_Devsize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the device size config register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#aed44f5b363f17a6ebb50ec89b032f112">XOspiPsv_Msg::Addrsize</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>, and <a class="el" href="group__ospipsv__api.html#ga4fe1250ba300d83c1acb4291301429f9">XOspiPsv_StartDmaTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="gafb4ad780fc9faa2f91aa7208ceb91583"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Setup_Stig_Ctrl </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Cmd_op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Rd_data_en</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Num_rd_data_bytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Cmd_addr_en</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mode_bit_en</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Num_addr_bytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Wr_data_en</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Num_wr_data_bytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Dummy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Membank_en</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the STIG control register (Flash cmd register). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Cmd_op</td><td>Command opcode. </td></tr>
    <tr><td class="paramname">Rd_data_en</td><td>Specifies whether cmd_op requires data to read or not. </td></tr>
    <tr><td class="paramname">Num_rd_data_bytes</td><td>Number of bytes to read. </td></tr>
    <tr><td class="paramname">Cmd_addr_en</td><td>Specifies whether cmd_op requires addr or not. </td></tr>
    <tr><td class="paramname">Mode_bit_en</td><td>Represents mode bit configuration register. </td></tr>
    <tr><td class="paramname">Num_addr_bytes</td><td>Represents addr bytes (4/3 etc). </td></tr>
    <tr><td class="paramname">Wr_data_en</td><td>Specifies whether cmd_op requires write enable or not. </td></tr>
    <tr><td class="paramname">Num_wr_data_bytes</td><td>Number of bytes to write. </td></tr>
    <tr><td class="paramname">Dummy</td><td>Number of bytes to write. </td></tr>
    <tr><td class="paramname">Membank_en</td><td>Enables STIG memory bank.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, and <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>, <a class="el" href="group__ospipsv__api.html#ga6af9f098248cd39891e92d9caa1d75c8">XOspiPsv_Stig_Read()</a>, and <a class="el" href="group__ospipsv__api.html#ga1b1a6b7fd20d9183ad58f84d3303eeec">XOspiPsv_Stig_Write()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4eb9614740f6df4c7a372d9125d5b5e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XOspiPsv_Start_Indr_RdTransfer </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initiates the indirect read transfer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, and <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaa415227de8c6663e478041a82887dd5b">XOspiPsv_IntrHandler()</a>, and <a class="el" href="group__ospipsv__api.html#gaaf23d7567b974cfac69ecadd2919999d">XOspiPsv_IntrTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4fe1250ba300d83c1acb4291301429f9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_StartDmaTransfer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Starts a DMA transfer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if transfer fails.</li>
<li>XST_DEVICE_BUSY if a transfer is already in progress. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv___msg.html#ab46554545943ecf8f1a0152c237489f4">XOspiPsv_Msg::ByteCount</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a960350cdb6c3c5dc679c637ca1e21be0">XOspiPsv_Msg::Flags</a>, <a class="el" href="struct_x_ospi_psv.html#a9b9e338c1d571e790ff16645246952f1">XOspiPsv::IsBusy</a>, <a class="el" href="struct_x_ospi_psv.html#a486b1d77ef231104cdfb09d61972c74c">XOspiPsv::IsReady</a>, <a class="el" href="struct_x_ospi_psv.html#a92c14bd0533b97db4837dca410bb7ab5">XOspiPsv::Msg</a>, <a class="el" href="struct_x_ospi_psv.html#abb16a8f44c9ec93487044060e9fb522e">XOspiPsv::OpMode</a>, <a class="el" href="struct_x_ospi_psv.html#af9d2352cda8abe04913cfd09201e3cab">XOspiPsv::RecvBufferPtr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a584672579015305052780c6b14e5a576">XOspiPsv_Msg::RxBfrPtr</a>, <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>, <a class="el" href="struct_x_ospi_psv.html#afbb922b012156fcef71c375702c2d37b">XOspiPsv::SendBufferPtr</a>, <a class="el" href="group__ospipsv__api.html#ga289baf1466add8dfa4a70a3952354cd7">XOspiPsv_CheckOspiIdle()</a>, <a class="el" href="group__ospipsv__api.html#ga7dd7305678eaea4774657b38046cc5e4">XOspiPsv_Config_Dma()</a>, <a class="el" href="group__ospipsv__api.html#gae199f0006d6d3282aad2a18c4e87d479">XOspiPsv_Config_IndirectAhb()</a>, <a class="el" href="group__ospipsv__api.html#gad90cde53aa1c59a7a9a8450c8b109782">XOSPIPSV_IDAC_MODE</a>, <a class="el" href="group__ospipsv__api.html#ga21e9a7cc8b92ff2dcc84fafa3f0c21fa">XOSPIPSV_MSG_FLAG_RX</a>, <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>, <a class="el" href="group__ospipsv__api.html#gaf618dd1d9a3b5fe6a60feedd9cfca12b">XOspiPsv_Setup_Dev_Read_Instr_Reg()</a>, and <a class="el" href="group__ospipsv__api.html#gab0a1fd4b1edb33eeb7f14588f09a8355">XOspiPsv_Setup_Devsize()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6af9f098248cd39891e92d9caa1d75c8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_Stig_Read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flash command based data reading using flash command control registers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
<li>XST_FAILURE if transfer fails.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This operation is in IO mode of reading. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aed44f5b363f17a6ebb50ec89b032f112">XOspiPsv_Msg::Addrsize</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a3df927f0564ffc2896abff80b63e5601">XOspiPsv_Msg::Addrvalid</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a4796e4047cf6a5cb697cfdb5e4799aa7">XOspiPsv::DualByteOpcodeEn</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aee5814ae840542f0968358c6c00371d8">XOspiPsv_Msg::Dummy</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a63025a20ca549b4b65f2c6d611d40abc">XOspiPsv_Msg::ExtendedOpcode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a55ac289317d94775757cac9529ea51c2">XOspiPsv_Msg::Opcode</a>, <a class="el" href="struct_x_ospi_psv.html#ab006c89c9b2e2e9e3eddef303ed06054">XOspiPsv::RxBytes</a>, <a class="el" href="group__ospipsv__api.html#ga8bb2848b91c02f54adca66fae6820e7e">XOspiPsv_Exec_Flash_Cmd()</a>, <a class="el" href="group__ospipsv__api.html#ga621f2c47a2e8fdf59de28b2333d6da6f">XOspiPsv_FifoRead()</a>, <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>, and <a class="el" href="group__ospipsv__api.html#gafb4ad780fc9faa2f91aa7208ceb91583">XOspiPsv_Setup_Stig_Ctrl()</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1b1a6b7fd20d9183ad58f84d3303eeec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_Stig_Write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_ospi_psv___msg.html">XOspiPsv_Msg</a> *&#160;</td>
          <td class="paramname"><em>Msg</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flash command based data write using flash command control registers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Msg</td><td>Pointer to the structure containing transfer data.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if successful.</li>
</ul>
</dd></dl>
<ul>
<li>XST_FAILURE if fails.</li>
</ul>
<dl class="section note"><dt>Note</dt><dd>This operation is in IO mode of writing. </dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___msg.html#af8358bd6a8075c4abacf9b0a7b10a490">XOspiPsv_Msg::Addr</a>, <a class="el" href="struct_x_ospi_psv___msg.html#aed44f5b363f17a6ebb50ec89b032f112">XOspiPsv_Msg::Addrsize</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a3df927f0564ffc2896abff80b63e5601">XOspiPsv_Msg::Addrvalid</a>, <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, <a class="el" href="struct_x_ospi_psv.html#a4796e4047cf6a5cb697cfdb5e4799aa7">XOspiPsv::DualByteOpcodeEn</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a63025a20ca549b4b65f2c6d611d40abc">XOspiPsv_Msg::ExtendedOpcode</a>, <a class="el" href="struct_x_ospi_psv___msg.html#a55ac289317d94775757cac9529ea51c2">XOspiPsv_Msg::Opcode</a>, <a class="el" href="struct_x_ospi_psv.html#a307cc221c5d9dde996530c5edc151e8e">XOspiPsv::TxBytes</a>, <a class="el" href="group__ospipsv__api.html#ga8bb2848b91c02f54adca66fae6820e7e">XOspiPsv_Exec_Flash_Cmd()</a>, <a class="el" href="group__ospipsv__api.html#ga54d82d31820cd30d9c32055380e0ab04">XOspiPsv_FifoWrite()</a>, <a class="el" href="group__ospipsv__api.html#ga1101ef0b6b567210a26c9b95e3ef2de5">XOspiPsv_ReadReg</a>, and <a class="el" href="group__ospipsv__api.html#gafb4ad780fc9faa2f91aa7208ceb91583">XOspiPsv_Setup_Stig_Ctrl()</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#ga808cc2759798221d0d4f44eef27c0629">XOspiPsv_PollTransfer()</a>.</p>

</div>
</div>
<a class="anchor" id="ga943852604b61a80a53f42a143bf87241"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XOspiPsv_WaitForLock </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_ospi_psv.html">XOspiPsv</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Waits for bit to be set. </p>
<p>This API polls for the required bit for 10 seconds, if not set then timeout occurs.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>Pointer to the <a class="el" href="struct_x_ospi_psv.html" title="The XOspiPsv driver instance data. ">XOspiPsv</a> instance. </td></tr>
    <tr><td class="paramname">Mask</td><td>Bit mask to check for lock.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if lock bit is set.</li>
<li>XST_FAILURE if fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="struct_x_ospi_psv___config.html#afae7c066f010841cb9a5214d9ff1e455">XOspiPsv_Config::BaseAddress</a>, <a class="el" href="struct_x_ospi_psv.html#a587249b499cdfc3e3da286143039006c">XOspiPsv::Config</a>, and <a class="el" href="group__ospipsv__api.html#gacc22319a6b88d36c8eb490a567b618cb">LOCK_MAX_DELAY_CNT</a>.</p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gacb2c9597040e54b985ddf380365af639">XOspiPsv_ConfigureTaps()</a>, <a class="el" href="group__ospipsv__api.html#ga3ac73304cb055f7184181eb4b176637e">XOspiPsv_ExecuteRxTuning()</a>, and <a class="el" href="group__ospipsv__api.html#ga3946ea37da6d9ce478f29eca239b597b">XOspiPsv_SetDllDelay()</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="ga5467f4708859cc73f82c31d627bd31b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a> XOspiPsv_ConfigTable[XPAR_XOSPIPSV_NUM_INSTANCES]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line">{</div>
<div class="line">        {</div>
<div class="line">                XPAR_XOSPIPSV_0_DEVICE_ID,</div>
<div class="line">                XPAR_XOSPIPSV_0_BASEADDR,</div>
<div class="line">                XPAR_XOSPIPSV_0_OSPI_CLK_FREQ_HZ,</div>
<div class="line">                XPAR_XOSPIPSV_0_IS_CACHE_COHERENT,</div>
<div class="line">                XPAR_XOSPIPSV_0_OSPI_MODE</div>
<div class="line">        }</div>
<div class="line">}</div>
</div><!-- fragment -->
<p>The configuration table for devices. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaf44a1c9ce528880318fbfd61c256b0d3">XOspiPsv_LookupConfig()</a>.</p>

</div>
</div>
<a class="anchor" id="ga992d9fa781379e0cc76acdc13cb8b54c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_ospi_psv___config.html">XOspiPsv_Config</a> XOspiPsv_ConfigTable[]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The configuration table for devices. </p>

<p>Referenced by <a class="el" href="group__ospipsv__api.html#gaf44a1c9ce528880318fbfd61c256b0d3">XOspiPsv_LookupConfig()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
